【发布时间】:2015-02-27 13:33:42
【问题描述】:
我想知道是否有人可以帮助我。我正在开发一个私人消息中心,这将使用户能够通过前端相互发送 PM。收件箱工作得很好,但是我想添加一个页面,您可以在其中单击用户名,然后您可以查看与该用户和当前登录用户发送和接收的所有消息。
例如:
用户 1
留言A
留言B
消息 C
消息 D
用户 2
留言A
留言B
消息 C
用户 3
留言A
留言B
消息 C
消息 D
消息 E
在我的数据库中,我有一个包含所有用户的表:
id | user_login | user_pass | user_nicename | user_email | user_url | user_registered | user_activation_key
我有一张包含消息信息的表格:
id | parent_id | from_user | to_user | send_date | last_date | message_title | message_contents | status | to_del | from_del
表 1 中的用户 id 对应于表 2 中的 parent_id(以回复形式嵌套的消息)和 from_user 和 to_user。
使用下一个查询(我在 Stackoverflow 上找到基础后使用),我能够回显 from_user 列的结果,但是我想回显从用户发送和发送给用户的所有消息:
global $wpdb;
$result = $wpdb->get_results( "SELECT table1.id, table1.user_nicename, table2.id,
table2.from_user, table2.message_title FROM table1
INNER JOIN table2 ON table1.id=table2.from_user
GROUP BY user_nicename" );
foreach($result as $row)
{
echo $row->user_nicename." <br> ".$row->message_title."<br>";
}
?>
谁能解释一下并指出我正确的方向?我想我需要使用像 INNER JOIN 这样的东西来将 to_user 添加到查询中,但是我有点迷失了。
如果您需要更多信息,请告诉我。第一次在这里寻求帮助,所以我不知道我是否提供了足够的信息:)
非常感谢您的关注和帮助!
【问题讨论】:
标签: mysql sql select join inner-join