我的数据库中有很多项目,显示它们没有问题。只是我想通过对它们进行分组来组织从数据库中获取的项目。
例如,我有 50 个项目,我想先显示前 10 个项目,然后保留其余项目以供以后显示。因此,如果用户单击"查看下一个项目"按钮或适当的数字(例如,10 个项目位于"1"中,因此如果单击"2",它应该显示第 2 个 10 个项目,直到所有项目都显示 10 及其相应的编号组项目持有人),则将显示接下来的 10 个项目并将替换前 10 个项目。简而言之,我希望项目显示 10。
我有这个当前代码:
.PHP
$result = mysql_query("SELECT * FROM items");
$data = "";
while($row = mysql_fetch_array($result)) {
$data .= "<a href='#' id='".$row['id']."' class='theitem'><img src='media/".$row['picture']."' /></a>";
}
.HTML
<div id="itemsholder">
<? echo $data; ?>
</div>
下面应该有一个数字导航,该数字应该对应于 50 个项目之外的 10 个项目的数量。例如,对于 50 个项目,由于我只想显示 10 个项目,因此我应该有 1、2、3、4、5 个链接或"显示下一个项目"按钮,以便每当用户点击该按钮时,它将显示接下来的 10 个项目和其余项目。
PS:我愿意接受建议,建议和想法。
谢谢,希望这里有人可以帮忙,谢谢。
这是一种常见的设计模式,称为分页。 你可能想谷歌php分页并消化一些结果。
简而言之,一般模式是计算出总共有多少项(通过 SELECT COUNT(*) 查询,或者对于非常大的数据集,将其存储在另一个位置并在添加或删除项时更新它)并使用 LIMIT 子句运行查询。
例如,如果您希望每个页面包含 20 个项目,并且您位于第 5 页,而不是:
SELECT * FROM items;
请改为运行此版本:
SELECT * FROM items LIMIT 100, 20;
并将这些结果显示为页面。 如果总项目数$n,则页数将为:
floor(($n + 1) / 20);
使用分页,那里有很多,只需在Google中搜索它们即可。 以下是帮助您入门的代码。
SELECT * FROM items LIMIT 100, 20;