簡體   English   中英

從數據庫mysql獲取N值

[英]Get N value from database mysql

我有一個表,我可以得到汽車表格數據庫,並在此表中列出它:

$row_id=$_GET["id"];
$solK = ($row_id-1) * 9;
$sagK = ($row_id) * 9;
$sorgu2 = mysql_query("SELECT * FROM Car WHERE Car_ID > '$solK' AND Car_ID < '$sagK'");

每頁有9輛車,我使用id對這些車進行排序,但是當我在第一頁中刪除一輛車(例如Carid = 5)時,有8輛車,而其他頁面有9輛車,如何從數據庫中獲取沒有CarId的前N個值?用SQL代碼解釋。

在查詢中添加一個LIMIT

例如

SELECT * FROM tbl LIMIT 0, 9

將從tbl選擇前9個條目。

為了匹配您的查詢並保留順序,我將其聲明為

SELECT * FROM Car ORDER BY Car_ID LIMIT 0, 9

前九行。 對於接下來的9行,只需將兩個數字都增加10,依此類推。

與其像您一樣編寫代碼,不如使用LIMIT:

SELECT * FROM Car LIMIT 0,9

然后

SELECT * FROM Car LIMIT 9,9

我認為其他答案(使用限制和偏移量)將適合您的情況。 但是,如果您(或其他任何人)曾經需要提高性能,並且需要管理前幾個頁面以外的快速查詢,則應該實現如下頁面調度:

  SELECT f1, f2, ... 
    FROM tbl
      WHERE Car_ID > $id
    ORDER BY Car_ID
    LIMIT 10

在您的陳述中使用“ LIMIT offset,row_count”

嘗試使用以下SQL語句SELECT * FROM Car LIMIT '$pageN*$nperpage', '$nperpage'

其中$nperpage將是每頁的項目數,而$pageN將是頁號(請注意,在這種情況下,頁碼以0開頭)。

http://dev.mysql.com/doc/refman/5.0/en/select.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM