【发布时间】:2013-06-27 15:49:38
【问题描述】:
我最近使用 PHP 和 MySQL 从头开发了一个 CMS,通过 Apache/phpmyadmin 在 localhost 上运行。
到目前为止一切都很顺利,访问者可以查看文章并成功浏览页面。管理员(由管理员在 CMS 或 MySQL 架构中创建)可以登录、查看文章、编辑文章、查看和编辑用户以及删除文章。
我的问题是,当文章被删除时,(任何现有文章的)底部的下一个/上一个按钮具有以下功能
<?php if ($id != 1) : ?>
<a href="article.php?id=<?php echo $id - 1; ?>">Previous Article</a>
<?php endif; ?>
它会查找以前存在的带有 x-id 的文章,但是由于该文章已被删除,因此它不再存在。有什么方法可以在文章被删除时删除文章 ID,从而再次释放该文章 ID?
我可以在 phpmyadmin 的架构中手动将 id 重置为 0,1,2,3... 等,但我想应用一些逻辑以使该系统完美运行。
非常感谢您的帮助,如果有时间,我会将 CMS 上传到我的网络服务器,以便免费查看。
~迈尔斯
编辑:可以在这里观看视频:http://youtu.be/F8LU1jei3E4
【问题讨论】:
-
对于您的分页,您需要允许缺少 id,使用 sql 中的 count 和 limit 命令很容易做到,因为它们是 id 独立的,即:count 3 可以是任何 id。只需在 php 分页上谷歌一下,您应该能够通过一些小的修改来复制和粘贴。
-
你不能像其他人一样从数据库中检索下一个/上一个 ID 而不是计算它们吗?假设您有 500 篇文章,而最新的一篇文章排在第 20 位,这是没有意义的。
-
所以理论上我可以使用 MAX ID 作为下一个按钮?
-
max id 会将您返回到最新的文章,但如果您在第 3 页上的每页有 10 篇文章,您可以选择限制 (3x30,4x10) 等来拉回接下来的 10 篇文章 id为您的第 4 页等等