php留言板中如何把一个用户的留言放在同一个表格中?

来源:百度知道 编辑:UC知道 时间:2024/05/24 15:08:45
一个用户在不同时间段内的留言是分开的,但是想要把他们集中在一个表格中,就是同一个用户的留言集中在一块,并且只显示最新留言的那一条,点击‘更多’就可以显示这个用户所有的留言....
希望我说清楚了.......头疼了一天了,为这个问题,
望高手赐教,解决后定将高分回报.....
若真有心解决,而不清楚详情,可联系282243552

1、最简单的办法,就是在用户表里添加两个字段。每个用户的最后留言时间、留言内容的ID号。
每个用户发言的时候,往数据写留言的时候,顺便更新一下他的最新留言时间和、最后留言的ID。
通过这样的方法,就可以很轻松地实现你所说的功能了。读用户表,按照最后留言的时间进行排序,关联留言的ID号,读出内容。

2、如果不想动数据库,问题就显得有点麻烦。因为数据庞大,又考虑做分页程序,所以速度上可能很慢。

因时间关系,我就文白夹杂跟你说个大概,方法是这样的:

(1)先获取最新留言的不重复的用户ID;

for($i=0;$i<$line;i++) //$line 为一页所显示的行数
{
...按时间倒序,一条条读留言表,取出用户ID.....程序自己写...;

$user_list[$i]=用户ID;

$new_list = array_unique ($user_list); //用array_unique函数剔除数组中重复的用户ID;

if($new_list==$line||数据表结束){退出循环}

}

(2)通过获取的不重复的最新留言用户的数组,通过关联数据库,循环获取留言内容。

从查询入手就可以了啊

select ....... from ...... where user = xxx;