PHP ページング クエリ
テーブルの名前が A で、レコード データが不明であるとします。
各問題は SELECT
1 を使用して実装するのが最適です。テーブル内 (物理的な順序が逆になっている必要があります)
2. テーブルの最後の 10 レコードを取り出します (物理的な順序が逆になっている必要があります)
3. テーブルの 10 番目から 10 番目のレコードを 20 件取り出します (物理的な順序を逆にすると次のようになります)
4. テーブル内のすべてのレコードを取り出し、2 つの列を追加します。これは行番号と物理行番号です。
-- ------------------------
1. 制限 0,9 から * を選択します
2. ID 説明による順序から * を選択します
3. 制限 9 から * を選択します,19
----------- ---------------
CREATE TABLE ソート('Col1' INT (3) UNSIGNED NOT NULL、'Col2' CHAR (1) NOT NULL、主キー (Col1),INDEX Col2 (Col2));
INSERT INTO sort (Col1, Col2) VALUES (1, 'A');
INSERT INTO (Col1, Col2) VALUES (2, 'C');
INSERT INTO sort (Col1, Col2) VALUES (3, ' B');
INSERT INTO (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 並べ替え (Col1, Col2) VALUES (8, 'G');
INSERT INTO 並べ替え (Col1, Col2) VALUES (9, 'K'); 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;
#Press 物理的な順序は 10 番目から始まり、10 かかります
最後のいくつかでは、最初にレコードの合計数をクエリする必要があります
SELECT Count(*) As Count FROM Table1
次に、それを独自のプログラムで上記の SQL に処理します
物理的な順序を逆にすると、
はは、
: "
---- ----------------------
$sql = "名刺からカード ID、会社名、名前を選択します"; 🎜>
....
$sql .= "$offset,10 を制限します。
$result2 = mysql_query($sql);
while ($row = mysql_fetch_array($result2))
{
show_card($row); 🎜>
$pages = ceil($num/10);
echo "" ;
echo "(合計 {$pages})nnn"; if($offset>=10) //$offset が 9 より大きい場合、2 ページ目以降に表示されます 1 ページ
{
$preoffset = $offset-10;
echo "前のページ n";
}
for ($i=1; $i
{
$newoffset=10*($i-1);
echo "[$i] n"; 🎜> }
if ($pages!=0 && ($offset/10+ 1)<$pages)
{
echo "次のページ" n";
}
echo "";
-----解決策---------- ---------