0

我最近使用 PHP 和 MySQL 从头开始​​开发了一个 CMS,它在 localhost 上通过 Apache/phpmyadmin 运行。

到目前为止一切都很顺利,访问者可以查看文章并成功浏览页面。管理员(由管理员在 CMS 或 MySQL 架构中创建)可以登录、查看文章、编辑文章、查看和编辑用户以及删除文章。

我的问题是,当文章被删除时,(任何现有文章的)底部的下一个/上一个按钮具有以下功能

<?php if ($id != 1) : ?>

<a href="article.php?id=<?php echo $id - 1; ?>">Previous Article</a>

&nbsp; &nbsp;

<?php endif; ?>

它会查找以前存在的带有 x-id 的文章,但是由于该文章已被删除,因此它不再存在。有没有办法在文章被删除时删除文章 ID,从而再次释放该文章 ID?

我可以在 phpmyadmin 的模式中手动将 id 重置为 0,1,2,3... 等,但我想应用一些逻辑以使该系统完美运行。

非常感谢您的帮助,如果我有时间,我会将 CMS 上传到我的网络服务器,以便可以自由查看。

~迈尔斯

编辑:可以在这里观看视频:http: //youtu.be/F8LU1jei3E4

4

2 回答 2

0

您可以通过基于 的查询来做到这一点id

上一篇:

SELECT * FROM articles WHERE id < ? ORDER BY id DESC LIMIT 1

下一篇:

SELECT * FROM articles WHERE id > ? ORDER BY id LIMIT 1
于 2013-06-27T16:41:09.627 回答
0

因此,对于您的分页,最好使用 SQL 的 LIMIT。而不是使用您的 id 进行这样的查询:

'SELECT * FROM articles WHERE article_id=' . $id

(这不是一个安全的查询,它只是给你看)

因此,您的查询应该如下所示,而不是这个查询:

'SELECT * FROM articles LIMIT ' . $id . ', 1;'

这不会返回 ID 为 $id 的文章,而是返回 $id'th 文章。希望这对你来说很清楚。

于 2013-06-27T16:12:42.637 回答