我有一个sql表images
,其中包含id
,imagePath
,caption``count
列。
要查看这些图像我要做的是,我要求页码并查询iamge
$limit=$page-1;
$sel=$mysqli->prepare("SELECT id,imagePath,caption,count from images".
" order by id desc limit ".$limit.",1");
这会正确显示图像。
但是我有另一个功能,它显示来自数据库的总图像中的4个图像的随机缩略图。这些图像我也给出了一个href标签,这样当用户点击该链接时,他将被带到页面那个形象。
现在问题在于这些链接。 假设我在数据库中有这样的图像
id=1
id=2
id=3
id=4
id=5
要查找特定ID的页码,我的工作是
$newid=$idOfTheCurrentImage-($idOfTheLastImage-1);
使用这个逻辑我得到
id=1 page=5
id=2 page=4
id=3 page=3
id=4 page=2
id=5 page=1
如果所有ID都按顺序排列,则会得到正确的结果。但如果删除了任何id,则此逻辑会失败。
还有其他解决方案吗?
答案 0 :(得分:1)
您可以执行以下操作:
添加另一个字段,一个'序列号',所以你有对($ id,$ seq_number),并像你使用$ seq_number一样进行计算。不要忘记在删除时更新序列号字段。
获取数组中的所有id,并在那里进行计算。在此选项中,$ id值不用于计算,只使用数组索引。
希望这会有所帮助。干杯
答案 1 :(得分:1)
我建议使用除跑步计数器之外的其他内容作为页面分母。如你所说,它可能会发生变化,或者如果中间缺少一个数字则会失败。
您的图片有标题。您可以从中创建一个“slug”并将其用作页面分母。
创建链接时不再有古怪的数学或模糊的逻辑,不再有消失的页面。