求一段php调用代码

WBOY
发布: 2016-06-23 13:33:21
原创
930 人浏览过



看图说话。

假设上面是一个表 。。
表里面 有 信息ID 和用户UID 和特定的PID

怎么在loop循环调用变量的时候 判断 其他条信息的PID = 当前信息的ID  (红框所示)

我在调用的时候 这么判断 

{loop $list}......{if $id == $pid}.......{/if} .....{/loop}
登录后复制


就被判断成当前的这条信息ID是否和PID相同了。关键是PID和ID 肯定不会在一条id的信息数据里 PID是针对ID的

代码我是这样写的

{loop $list}$id - $uid -$pid <br>{/loop}
登录后复制


显示的结果是
1 -8 - 25
2 -3 - 36
3 -12 -1
这没有错 输出正确

我想要的结果是 第三条PID等于 第一条的ID 让他显示在第一条下面
怎么写代码啊 求解脱


回复讨论(解决方案)

其实是自己编写了个留言。
其中的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)。




每条信息包含ID和PID 这个循环是不错 但是会在key为ID的时候 把PID的也读取了

{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);
登录后复制

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!