使用 MySQL LIMIT、OFFSET 进行分页
我有一些代码,LIMITs数据每页仅显示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");
这在我的数据库中有预先确定的项目数时是这样工作的。但这并不是那么好。只有当有更多的项目时,我才需要创建一个新页面,而不是像现在这样硬编码到其中。
如何创建多个页面,而无需对每个新页面进行硬编码和偏移?