PHP分頁查詢解決方案

來源:互聯網
上載者:User
PHP分頁查詢
假設表的名稱為A,記錄條資料為未知.

各個問題最好用一條SELECT 實現

1.取出表中前10條記錄.(按物理逆序又應如寫)

2.取出表中的後10條記錄.(按物理逆序又應如寫)

3.取出表中第10條到第20條記錄.(按物理逆序又應如寫)

4.取出表中的所用記錄,並加上兩列分別是行號及物理行號.

---------------------------



1、select * from a limit 0,9

2、select top(10) from a order by id desc

3、select * from a limit 9,19

---------------------------



CREATE TABLE sort ('Col1' INT (3) UNSIGNED NOT NULL, 'Col2' CHAR (1) NOT NULL, PRIMARY KEY (Col1),INDEX Col2 (Col2));

INSERT INTO sort (Col1, Col2) VALUES (1, 'A');

INSERT INTO sort (Col1, Col2) VALUES (2, 'C');

INSERT INTO sort (Col1, Col2) VALUES (3, 'B');

INSERT INTO sort (Col1, Col2) VALUES (4, 'D');

INSERT INTO sort (Col1, Col2) VALUES (5, 'F');

INSERT INTO sort (Col1, Col2) VALUES (6, 'E');

INSERT INTO sort (Col1, Col2) VALUES (7, 'H');

INSERT INTO sort (Col1, Col2) VALUES (8, 'G');

INSERT INTO sort (Col1, Col2) VALUES (9, 'K');

INSERT INTO sort (Col1, Col2) VALUES (10, 'J');

INSERT INTO sort (Col1, Col2) VALUES (11, 'L')

INSERT INTO sort (Col1, Col2) VALUES (12, 'I');

INSERT INTO sort (Col1, Col2) VALUES (13, 'N');

INSERT INTO sort (Col1, Col2) VALUES (14, 'M');



SELECT * FROM Table1 Limit 0,10;

#按物理順序取前10個



SELECT * FROM Table1 Limit 10,10;

#按物理順序從第10開始取10個





取後幾個,要先查詢了總記錄數

SELECT Count(*) As Count FROM Table1;

然後在自己程式裡處理成如上所示的SQL



至於按物理順序逆序取,

呵呵,

:《



---------------------------



$sql = "select cardid,company,name from namecard where";

......



$sql .= " limit $offset,10";

$result2 = mysql_query($sql);

while ($row = mysql_fetch_array($result2))



{

show_card($row);

}

$pages = ceil($num/10);

echo "";

echo "(共{$pages}頁)\n\n\n";

if($offset>=10) //$offset大於9,在第二頁面以上就會顯示前一頁

{

$preoffset = $offset-10;

echo "前一頁 \n";

}



for ($i=1; $i <= $pages; $i++)

{

$newoffset=10*($i-1);

echo "[$i] \n";



}

if ($pages!=0 && ($offset/10+1)<$pages)

{

echo "下一頁 \n";

}

echo "";


------解決方案--------------------
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.