簡體   English   中英

PHP 和 MySQL 25 件套

[英]Sets of 25 with PHP and MySQL

我想要完成的是,

  1. 將單詞列表作為單獨的條目添加到表格中。
  2. 以25個為一組顯示單詞。因此如果有25個條目,則列表中將顯示1-25個。 此外,如果有 27 個條目,則只會顯示數字 26 和數字 27。 所以它並不總是表中的最后 25 個條目。

我已經知道如何從數據庫中插入和提取信息,但我不知道如何進行適當的分組以將它們分成 25 組。

編輯:如何根據表中的行數自動增加 LIMIT?

編輯#2:這個問題不是重復的。 我不想要最近的 25 個。我想要它們以 25 為一組。我的問題在下面得到了回答。

您想使用此查詢,order by 僅當您需要以某種方式對其進行排序以獲得正確的 25 組時:

SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 0, 25 

2nd set of 25 你需要使用這個(注意第一個 LIMIT 數字是不同的):

SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 25, 25

第三套

SELECT * FROM `your_table` ORDER BY `field_name` DESC LIMIT 50, 25

第一個 LIMIT 數字是偏移量,或者您希望記錄從哪里開始提取,第二個是要提取的記錄數。 如果只有 26 和 27,這里的第二個查詢將適用。 您可以看到,在這種情況下,每個集合都要求您將偏移量增加您請求的記錄數。

恕我直言,你不能在一個查詢中做到這一點(至少在可讀的標准 SQL 中)。

你需要:

  1. 獲取表中的條目數(假設表名為tbl1 ):

     SELECT count(*) FROM tbl1;
  2. 使用整數除法獲取未選擇的條目數。 確切的代碼取決於您使用的語言。 例如在 PHP 上(假設步驟 1 的結果存儲在$count ):

     $offset = floor($count/25); //or: $offset = $count - $count%25;
  3. 使用 LIMIT 提取所需條目:

     SELECT * FROM tbl1 ORDER BY <specify-order-here> LIMIT 25 OFFSET <insert-$offset-here>;

暫無
暫無

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

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