3

我在 sql 中有两个表,当我在 php 中将它们回显时,我得到了一个奇怪的结果......所需的效果是从表介绍和表消息中的 msg 中回显介绍 - 然后按日期组织它们。

$result = mysql_query("SELECT intro.user_id, intro.date, intro.message_id, intro.intro FROM intro WHERE user_id = {$uid}
                    UNION SELECT messages.user_id, messages.msg, messages.message_id, messages.date FROM messages
                    ORDER BY date DESC ");




while($row = mysql_fetch_array($result))
  {
  echo  "<p>".getElapsedTime($row['date'])."</p>
  <strong>></strong> <a href=\"outro.php?msg_id=".$row['intro.message_id'].
  "\">".$row['intro'] . "</a><br>";
  }


Intro table

在此处输入图像描述

Messages table

在此处输入图像描述

在此处输入图像描述

但是,如上所示,我得到了这个奇怪的结果。只是日期回显的顶部来自表格messages。我不知道为什么会发生这种情况,也不知道如何解决。

4

1 回答 1

2

你的 UNION 搞砸了。尝试:

SELECT intro.user_id, intro.date, intro.message_id, intro.intro
FROM intro WHERE user_id = {$uid}
UNION
SELECT messages.user_id, messages.date, messages.message_id, messages.msg
FROM messages
ORDER BY date DESC
于 2013-01-29T21:43:55.113 回答