gpt4 book ai didi

php - 从MySQL表中获取特定数据

转载 作者:行者123 更新时间:2023-11-30 00:22:02 25 4
gpt4 key购买 nike

我有一个如下所示的数据库表:(从 PHPMyAdmin 导出)

CREATE TABLE IF NOT EXISTS `topics` (
`parent` smallint(6) NOT NULL,
`id` int(11) NOT NULL,
`id2` int(11) NOT NULL,
`title` varchar(256) NOT NULL,
`message` longtext NOT NULL,
`authorid` int(11) NOT NULL,
`timestamp` int(11) NOT NULL,
`timestamp2` int(11) NOT NULL,
PRIMARY KEY (`id`,`id2`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

基本上,这是保存我的论坛系统主题的表。

  • parent 表示它所属的类别
  • id表示主题id
  • id2 表示回复顺序(1 = 原始帖子,2 = 第一个回复等)
  • title表示主题标题
  • 消息表示文本
  • authorid 表示消息的作者(存储在不同的数据库中)
  • 时间戳表示发布时间
  • timestamp2 表示编辑时间

因此,我在创建可以包含在其他页面上的最新帖子页面时遇到问题。我想要获取的是原始的、最新发布的主题。

简单地说:

  • 存在的最高 ID
  • 最低 id2(又名 id2 必须等于 1,因为这是第一篇文章)
  • 获取表格中该行的所有信息

请注意:ID 不会自动递增,因为我在发布主题时使用 PHP 手动将其设置为即将到来的数字。 AKA 我认为 LAST_INSERT_ID() 不起作用。

到目前为止,我执行此操作的代码已发布在 Pastebin 上:

http://pastebin.com/cyARYeT1

最佳答案

我不太明白你的要求:P

但是,我可以理解的是,您希望主题显示最近发布或修改的主题。

SELECT * FROM topics ORDER BY id timestamp2 DESC.

如果您填充时间戳 2,即使创建了主题,此查询也将起作用。

第二种解决方案

> SELECT * FROM topics ORDER BY id timestamp DESC. in array t1
SELECT * FROM topics ORDER BY id timestamp2 DESC. in array t2

Then merge t1 and t2 in descending order by comparing timestamp field of t1 and timestamp2 field of t2.

Then loop on third array in descending order...

希望这有效。

关于php - 从MySQL表中获取特定数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23157603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com