目前正在自学PHP中,想写一个留言本,带有留言和回复留言的功能。下面是其中的代码,第20行var_dump打印出来的结果再也面上只有一个,就是第一个,也就是说里面的while只循环了一次,这是为什么呢?
外面的while是循环读取留言的,里面的while是读取回复的,根据两张表intd和reply的id和reid是否相等判断回复的对应的留言然后按照输出的格式打印。
// 循环输出留言&回复 while($db_array = mysql_fetch_array($result))//查询的结果数组 { $content = nl2br($db_array['text']);//把content留言的每一行新行插入回车符 echo $db_array['name'],' '.'<html></html>';//打印用户名 echo '发表于:'.$db_array['datetime'].' '; echo '<a id="rs" method="get" action="reply.php" href="reply.php/?id='.$db_array['id'].'">回复</a>'.' '; echo '<td><a id="ds" method="get" action="delete.php" href="delete.php/?id='.$db_array['id'].'" onclick="return confirm(\'确定删除吗?删除后不能恢复\')">删除</a></td>'.'<br />'; echo '内容:',nl2br($db_array['text']),'<br /><br />';//打印用户发表留言 //打印回复 while($db_huifu_array = mysql_fetch_array($liuyan_result))//循环读取回复数组 { if($db_array['id'] == $db_huifu_array['reid']) { echo '----------------------------------------------------------------------------------------------------------------<br />'; echo $db_huifu_array['replyname'].' 回复于:',$db_huifu_array['redatetime'],'<br />'; echo '内容:'.nl2br($db_huifu_array['retext']),'<br />'; echo '<br />'; var_dump($db_huifu_array['reid']); } } echo '<hr />'; /* var_dump($db_huifu_array['reid']); */ }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。