0

数据库 X 包含 2 个表。消息表。

Message table:
Message_id     User_id     Posted_date            Message
1              141         2012-05-05 05:21:21    Hello
2              441         2012-05-05 05:25:21    How are you?
3              12          2012-05-07 05:25:21    How's it going?

和用户表

User table
User id        User name
12             Arthur
141            Boris
441            Andrew

我正在使用 PHP 脚本从我网站上的消息表中提取和回显数据。这应该显示最后 X 条消息。但是,如您所见,消息表不包含应随消息显示的用户名。我知道我必须使用某种连接命令,但不确定如何正确格式化它以便 php 脚本回显以下内容:

User name | Date
Message

我不确定如何格式化此查询请求。如果有人可以使用我上面提供的数据给我一个例子,我将不胜感激。

现在,最后,我需要在 15 分钟内只刷新一次信息,所以如果很多人查看它,它不会对服务器造成不必要的压力。PHP 有哪些可用的缓存选项?

4

2 回答 2

0
SELECT M.Message, M.Posted_date, U.User_name FROM Message as M INNER JOIN USER
as U ON M.User_id=U.User_id ORDER BY M.Posted_date DESC LIMIT 10

希望有帮助。

编辑。

对于此类查询,缓存似乎有点矫枉过正,但仍然是一个非常广泛的话题。

编辑。

根据评论见上文

于 2012-11-30T17:05:38.503 回答
0

您可以使用它LEFT JOIN来执行此操作。

SELECT M.Message, M.Posted_date, U.User_name FROM Message as M LEFT JOIN USER
as U ON M.User_id=U.User_id
于 2012-11-30T17:15:56.190 回答