0
我的表看起来像这样: MySQL的 - 有一个独立的ID为每个类别
所以在PHP我有以下几点:
$result = db_query("SELECT * FROM siteData WHERE category = '$temp_cat' ORDER BY id DESC LIMIT $offset, $rowsperpage");
// db_query() is a custom function which executes mysqli queries to the db
我在我的后置HTML显示id
和将其用作帖子的固定链接。这一切都很好,但是当我决定按类别进行过滤我看到以下内容:
Main page
:- 后标题 -
-2- < - 发布ID
- 帖子内容 -
- 后Footer-
- 后标题 -
-1- < - 发布ID
- 后内容 -
- 后Footer-
About Page
:- 后标题 -
-4- < - 发帖ID
- 后内容 -
- 后Footer-
- 后标题 -
-3- < - 发布ID
- 后内容 -
-Post Footer-
等等......我的意思是,帖子具有误导性的ID,这些ID在创建后会自动增加。这导致About Page
开始后有id = 3
而不是id = 1
。是否有任何可能的方法使它分别计算不同类别的ID?
我刚刚开始理解SQL,你能告诉我一个示例查询吗? –
每个类别都有自己的页面。所有这些页面显示的帖子'WHERE category =“something”'...但帖子是由'id'命令的,这意味着我将在'category 1'中创建一个帖子,它将具有'id = 1',用于例。然后,我将为'category 2'创建一个帖子,并且由于id = AUTO_INCREMENT',它将拥有'id = 2'。这里的问题是'category 2'中只有** 1 **的帖子,所以它不应该有'id = 2'。我希望我更清楚地告诉你。 –
我想我的数据库结构应该归咎于上述行为...如果有什么方法重新安排数据库中的列或更好 - PHP的方式来解决它,我很乐意接受它作为这个问题的答案。 –