看图说话。
假设上面是一个表 。。
表里面 有 信息ID 和用户UID 和特定的PID
怎么在loop循环调用变量的时候 判断 其他条信息的PID = 当前信息的ID (红框所示)
我在调用的时候 这么判断
{loop $list}......{if $id == $pid}.......{/if} .....{/loop}
{loop $list}$id - $uid -$pid <br>{/loop}
其实是自己编写了个留言。
其中的ID就是 留言的信息ID 用于删改信息;其中的UID就是留言的作者ID;还有留言内容、时间等字段就不说了。
最重要的就是PID,是自动生成的 ,就是给第几条信息回复的,
我想比如给信息ID为1的信息留言,让他显示在这条信息下面 。不知道怎么操作。哎
两个数组,一个按照ID排序的数组A(key值是ID),一个按照PID排序的数组B(key值是PID)。
A数组key值:1、2、3、6、8。。。
B数组key值:1、3、34、35.。。
每次从两个数组最开始位置取数据,A指针取到1输出,然后取B的第一个,也是1,输出。再取A指到了2输出,B获取发现是3,不输出。再取A 3输出,再次看B,发现也是3输出。
数组排序就用php自带的方法复杂度大概O(nLgn),遍历两个数组复杂度O(n)。
两个数组,一个按照ID排序的数组A(key值是ID),一个按照PID排序的数组B(key值是PID)。
A数组key值:1、2、3、6、8。。。
B数组key值:1、3、34、35.。。
每次从两个数组最开始位置取数据,A指针取到1输出,然后取B的第一个,也是1,输出。再取A指到了2输出,B获取发现是3,不输出。再取A 3输出,再次看B,发现也是3输出。
数组排序就用php自带的方法复杂度大概O(nLgn),遍历两个数组复杂度O(n)。
{loop $list $val}评论{$val['id']}{loop $list $val1}{if $val['id']==$val1['pid']}回复评论{$val['id']}的评论{/if}{/loop}{/loop}
$sqlstr = "select * from table";$query = mysql_query($sqlstr) or die(mysql_error());while($thread=mysql_fetch_assoc($query)){ $result[] = $thread;}foreach($result as $key=>$val){ if(isset($ret[$val['pid'])){ array_push($ret[$val['pid']], $val); }else{ $ret[$val['pid']] = array($val); }}print_r($ret);