gpt4 book ai didi

php - 如何检索长文本并按时间排序以相应地回显它们

转载 作者:行者123 更新时间:2023-11-29 08:35:02 38 4
gpt4 key购买 nike

在 mySQL 中,我有一个评论表,由 userID、restaurantID 和 comments 列组成:

DROP TABLE IF EXISTS `comment`;
CREATE TABLE IF NOT EXISTS `comment` (
`loginID` varchar(20) NOT NULL,
`RID` int(11) NOT NULL,
`comments` longtext NOT NULL,
KEY `loginID` (`loginID`)
KET 'RID' ('RID')
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

这就是我想做的:

i) 我想存储评论+评论栏的当前时间。

我会在java中说(comments = comments + newinput + currentime + ",")。然后在 PHP 中转换 $comment = $_POST['comments']

ii) 当我插入时,我正在做 (Insert into comment (loginID,RID,comments) VALUES ('$loginID','$RID','$comment'));

所以现在评论栏由一长串数据组成,例如

(美味的 12:00:00,最糟糕的 23:00:00,...)等等。

iii) 我想逐行显示所有内容,类似于谷歌市场评论,其中列出了用户 ID 和评论以及底部。

我的问题是:

1)如何根据逗号分别获取数据?内爆还是爆炸?但我对此感到困惑..

2) 当我 (SELECT comments FROM comment WHERE RID = $RID);我会得到很多用户 ID 和他们的评论列表。我应该如何将它们全部分成几部分,以便我可以根据发布的时间对它们进行排序,并打印从最早时间到当前时间的用户 ID 和评论。

逻辑:(1个餐厅可以被多个用户评论,1个用户可以对该餐厅留下多个评论。)

我这样存储数据合适吗? (更新文本=文本+当前时间+“,”)

最佳答案

就数据库结构和规范化而言,您并没有一个好的开始,这就是您的问题所在。

您应该将单独的评论作为单独的条目输入到评论表中,并附加一个时间列。这样,您可以使用以下方法轻松按时间排序:

SELECT 评论,时间 FROM 评论 WHERE RID = $RID 按时间 ASC 排序

这将按时间顺序获取特定餐厅的评论(使用 DESC 来首先获取最新评论)。

通过这种方式,您可以消除任何不必要的字符串操作 - 这总是会导致错误和令人头疼的问题。它还允许您使用 MySQL 内置的日期/时间格式,允许您仅选择过去一周的评论等。

关于php - 如何检索长文本并按时间排序以相应地回显它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15457189/

38 4 0