亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用MySQL LIMIT,OFFSET的分頁

使用MySQL LIMIT,OFFSET的分頁

HUWWW 2019-11-30 14:53:21
我有一些限制數據以每頁僅顯示4個項目的代碼。我使用的列大約有20到30個項目,因此我需要將這些項目分散在各個頁面上。在第一頁上,我有:    $result = mysqli_query($con,"SELECT * FROM menuitem LIMIT 4");{  echo "<tr>";  echo "<td align='center'><img src=\"" . $row['picturepath'] . "\" /></td>";  echo "<td align='center'>" . $row['name'] . "</td> <td align='center'> <input type='button' value='More Info'; onclick=\"window.location='more_info.php?';\"> </td>";  echo "<td align='center'>" . $row['price'] . "</td> <td align='center'> <input type='button' value='Add to Order' onclick=''> </td>";  echo "</tr>"; }echo "</table>";mysqli_close($con);    ?>     <table width="1024" align="center" >        <tr height="50"></tr>            <tr>                <td width="80%" align="right">                    <a href="itempage2.php">NEXT</a>                </td>                <td width="20%" align="right">                    <a href="">MAIN MENU</a>                </td>            </tr>    </table>您會在頁面底部注意到我的定位標記,其中列出了第二個頁面“ itempage2.php”。在項目頁面2中,我具有相同的代碼,除了我的select語句列出了偏移量4。$result = mysqli_query($con,"SELECT * FROM menuitem LIMIT 4 offset 4");當我的數據庫中有預定數量的項目時,這種方式可以運行。但這不是很好。僅當有更多項目時才需要創建一個新頁面,而不是像現在這樣將其硬編碼到其中。如何創建多個頁面而不必對每個新頁面和偏移量進行硬編碼?
查看完整描述

3 回答

?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

如果您想保持簡單,請嘗試一下。


$page_number = mysqli_escape_string($con, $_GET['page']);

$count_per_page = 20;

$next_offset = $page_number * $count_per_page;

$cat =mysqli_query($con, "SELECT * FROM categories LIMIT $count_per_page OFFSET $next_offset");

while ($row = mysqli_fetch_array($cat))

        $count = $row[0];

其余的取決于您。如果您從兩個表中得出結果,建議您嘗試其他方法。


查看完整回答
反對 回復 2019-11-30
?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

使用 .. LIMIT :pageSize OFFSET :pageStart


其中:pageStart綁定到the_page_index(即第一頁為0)* number_of_items_per_pages(例如4),:pageSize并綁定到number_of_items_per_pages。


若要檢測“具有更多頁面”,請使用SQL_CALC_FOUND_ROWS或使用.. LIMIT :pageSize OFFSET :pageStart + 1并檢測缺少的最后一個(pageSize + 1)記錄。不用說,對于索引> 0的頁面,存在前一頁。


如果頁面索引值嵌入在URL中(例如,在“上一頁”和“下一頁”鏈接中),則可以通過適當的$_GET項獲得它。


查看完整回答
反對 回復 2019-11-30
  • 3 回答
  • 0 關注
  • 1336 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號