好的,所以我有这个我正在研究的私人消息系统,这是它的组织方式
ID From-ID To-ID Message Thread
1 0 1 "blah blah blah" 1
2 0 1 "blah blah blah, blah!" 1
3 0 3 "hey <3>, how are you? Signed, <0>" 2
像这样的方式是,您可以在一个线程中拥有多条消息,以便您可以回复。
然后在我的私人消息页面的左侧,您可以选择要查看的线程。
所以,它将是一个显示发件人姓名的按钮,所以我使用了这个SQL:
mysql_query("SELECT * FROM pms WHERE to-id='".$_SESSION['id']."' ORDER BY id ASC");
但是,我希望它是类似(伪代码)的东西
mysql_query("SELECT * FROM pms WHERE to-id='".$_SESSION['id']."' LIMIT 1 per `thread` ORDER BY id ASC");
这样它只会显示一个线程的链接。
现在发生的事情是,每次对线程进行回复时,它都会显示一个新按钮。因此,如果有 100 条消息回复,并且它们都在同一个线程中(因为它们是"回复"),那么就会有 101 个按钮,这并不理想,原因很明显。
目前一切正常,除了我所说的按钮限制。
首先要做的是...您的 ID 列...不应该是自动递增吗?只是检查...
如果你想获取所有的线程,你可能想做一些事情,比如...
Select distinct thread from pms
-- then optionally...
where to-id = '".$_SESSION['id']"' order by ID asc
这样,您将只获得每个线程的第一个实例。