php从mysql获取用户数据

时间:2010-06-16 14:20:53

标签: php mysql

我目前在MySql数据库中有2个表。

结构:

messages
id | content | user_id | time

submessages
id | subcontent | msg_id | user_id | time

submessages表中,列msg_id是外键,引用表id中的messages列。

现在我需要从php查询

$cur_userID = $user->current_id; // current user id.
SELECT * FROM messages WHERE id > '{$_GET['id']}' // problem here

如何查询其他用户发布的submessages的{​​{1}}表格 - 是否会影响当前用户?

不应显示subcontent等于user_id的任何内容。

谢谢。

2 个答案:

答案 0 :(得分:0)

你想获得子消息细节,对吧?此查询将获取消息表中的所有信息,以及来自每个子消息的所有信息。因此加入。但它会排除与消息具有相同user_id的子消息(答案?)(问题?)。

SELECT m.* sm.*
FROM messages m
INNER JOIN submessages sm
  ON m.id = sm.msg_id
WHERE id > '{$_GET['id']}'   // dont know why gt is used here...
  AND m.user_id <> sm.user_id

我忽略了将它放入PHP所需的所有格式,因为我理解的问题是如何编写SQL。

顺便说一句,我没有得到id > $_GET['id']部分。您似乎要求在此消息之后创建所有消息,并且您要查找该消息的子消息。我真的无法弄清楚这是否合理,但如果这是你想要的,这是一种应该有效的方法。我怀疑你想要等于,而不是大于

答案 1 :(得分:-1)

"SELECT * FROM messages WHERE id != " . intval($_GET['id']);