PHP和MySQL中的嵌套注释
发布时间:2020-12-13 18:17:39 所属栏目:PHP教程 来源:网络整理
导读:我通过论坛搜索,但无法得到权威的答案.我想以这样的方式实现嵌套的注释结构: ul liThis is the parent first comment! ul liThis is the reply for the first parent comment! ul liThis is a reply for the first reply of the parent comment!/li liThis
我通过论坛搜索,但无法得到权威的答案.我想以这样的方式实现嵌套的注释结构:
<ul> <li>This is the parent first comment! <ul> <li>This is the reply for the first parent comment! <ul> <li>This is a reply for the first reply of the parent comment!</li> <li>This is a third reply for the first parent comment!</li> </ul> </li> <li>This is another reply for first parent comment!</li> </ul> </li> <li>This is gonna be parent second comment! <ul> <li>This is a reply for the second comment!</li> </ul> </li> <li>This is fourth parent comment!</li> </ul> 我桌子的转储如下: +----+------------------------------------------------------------+--------+ | id | text | parent | +----+------------------------------------------------------------+--------+ | 1 | This is the parent first comment! | 0 | | 2 | This is gonna be parent second comment! | 0 | | 3 | This is the reply for the first parent comment! | 1 | | 4 | This is another reply for first parent comment! | 1 | | 5 | This is a reply for the first reply of the parent comment! | 3 | | 6 | This is a reply for the second comment! | 2 | | 7 | This is a third reply for the first parent comment! | 3 | | 8 | This is fourth parent comment! | 0 | +----+------------------------------------------------------------+--------+ 我知道如何使用mysql_query()和while()循环. PHP和PHP的初学者MySQL的.请帮帮我.
我为我的博客做了类似的事情.然而,我只是尝试了相同的数据.当你说嵌套注释时,你可以用这种方式使用嵌套函数:
function getComments($parent) { # Get the data from SQL. # Check if it has nested comments. if (hasComments()) getComments($child); # $child is the ID of the current comment. } 为了实现这一点,我已将您的数据导入MySQL并尝试了以下方法: <?php mysql_connect('localhost','root'); mysql_select_db('nestedcomments'); function getComments($parent) { $res = mysql_query("SELECT * FROM `nestcomm` WHERE `parent` = $parent"); if (mysql_num_rows($res)) { echo "<ul>n"; while (($dat = mysql_fetch_array($res)) !== false) echo "<li>",$dat["text"],getComments($dat["id"]),"</li>n"; echo "</ul>n"; } else echo ($parent === 0) ? 'No Comments!' : ""; } getComments(0); ?> 正如我之前所说的,我已经使用了嵌套函数,并且正如您所说的那样输出几乎相同(没有大括号): <ul> <li>This is the parent first comment!<ul> <li>This is the reply for the first parent comment!<ul> <li>This is a reply for the first reply of the parent comment!</li> <li>This is a third reply for the first parent comment!</li> </ul> </li> <li>This is another reply for first parent comment!</li> </ul> </li> <li>This is gonna be parent second comment!<ul> <li>This is a reply for the second comment!</li> </ul> </li> <li>This is fourth parent comment!</li> </ul> 希望这会有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |