当前位置: 首页 > 面试题库 >

PHP和MySQL中的嵌套注释

柴意智
2023-03-14
问题内容

我在论坛上进行了搜索,但没有得到权威的答案。我想以这种方式实现嵌套的注释结构:

<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和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>

希望这会有所帮助。



 类似资料:
  • 问题内容: 我正在为新网站构建 用户类 ,但是这次我在考虑构建它有点不同… C ++ , Java 甚至 Ruby (可能还有其他编程语言)都允许在主类内部使用嵌套/内部类,这使我们可以使代码更加面向对象和组织化。 在PHP中,我想这样做: 这在PHP中可行吗?我该如何实现? 更新 如果不可能,将来的PHP版本是否会支持嵌套类? 问题答案: 介绍: 嵌套类与其他类的关系与外部类略有不同。以Java

  • 问题内容: 我有一个嵌套的JSON代码为(实际上是我的Facebook状态更新) 现在如何访问特定更新的注释并通过循环打印?(我正在同时检索几个更新)。 问题答案: 使用json_decode():

  • 本文向大家介绍PHP中实现MySQL嵌套事务的两种解决方案,包括了PHP中实现MySQL嵌套事务的两种解决方案的使用技巧和注意事项,需要的朋友参考一下 一、问题起源 在MySQL的官方文档中有明确的说明不支持嵌套事务: 但是在我们开发一个复杂的系统时难免会无意中在事务中嵌套了事务,比如A函数调用了B函数,A函数使用了事务,并且是在事务中调用了B函数,B函数也有一个事务,这样就出现了事务嵌套。这时候

  • 我对摩基托并不陌生,但这次我在工作中发现了一个有趣的案例。我希望你能帮我解决这件事。 我需要注入mock来改变测试过程中的某些方法行为。问题是,bean结构是嵌套的,并且这个bean在其他bean内部,不能从test方法访问。我的代码如下所示: 所以在我的测试中,我希望调用nestedDAO.method返回模拟答案。 我尝试执行一个initmocks: 还要在我的测试类上添加注释: 总是从方法获

  • 我想从YAML向Spring上下文注入一些值。YAML的结构类似,因此我不想重复代码,但Spring启动失败,因为它无法将值注入占位符。 请注意我的: 然后我将这些值注入YAML, 然后我将其导入到配置属性上下文: 但是< code > @ Value(" $ { auto agents . supplier } ")不起作用。 请建议。

  • 问题内容: 我想使用ES进行图书搜索。因此,我决定将作者姓名和标题(作为嵌套文档)放入索引,如下所示: 我不明白的是:如何构造搜索查询,以便在搜索“一二”时仅找到第二本书,而在搜索“二三”时什么也找不到,而在搜索“一”时所有图书呢? 问题答案: 也许是这样的? 该查询基本上说一个文件必须有and 。您可以轻松地重新配置该查询。例如,如果您只想搜索作者,请删除嵌套部分。如果您想要另一本书,请更改嵌套