php代码没有按预期获取文件

标签 php javascript jquery html css

<分区>

这段代码我看了半天没看明白问题出在哪里..

function getComment($topic_id){
    $sql = "SELECT * FROM comment WHERE topic_id='$topic_id' ORDER BY time DESC LIMIT 20";
    $result = mysql_query($sql);
    //the "id of the comment willl be used in maing the like box"
    while($output = mysql_fetch_assoc($result)){
    $qry = "SELECT username, avatar2 FROM user WHERE user_id='".$output['user_id']."'";
    $rst = mysql_query($qry);
    $out = mysql_fetch_assoc($rst);
    $disp = '
        <div class="tmain">
            <h3 class="underlinebold">Topic Title<span class="not_left">
                <ul>
                    <li><i class="icon-time" style="margin-top:5px;"></i>time: '. getTime($output["time"]) .' ago</li>
                    <li><i class="icon-pencil" style="margin-top:5px;"></i>Edit</li>
                    <li><span class="badge badge-inverse">#2</span></li>
                </ul>
            </span></h3>
            <div class="postWrap">
                <div class="userInfo">
                    <ul>
                        <li><img src="'. $out["avatar2"] .'" /></li>
                        <li>'. $out["username"] .'</li>
                        <li>'. commentNo($output["user_id"]) .'</li>
                    </ul>
                </div>
                <div class="comment">
                    <div class="commentText">'.
                     $output["content"].'</div>
                    <ul class="below">
                        <li><i class="icon-flag" style="margin-top:3px;"> </i>Report</li>
                        <li><i class="icon-edit" style="margin-top:3px;"> </i>Quote</li>
                        <li><i class="icon-thumbs-down" style="margin-top:3px;"> </i>Mtcheew...(<span>0</span>)</li>
                        <li><i class="icon-thumbs-up" style="margin-top:3px;"> </i>Correct!(<span>0</span>)</li>
                    </ul>
                </div>
            </div>
        </div>
    ';
    return $disp;
    }

}

代码应该获取与特定主题相关的所有评论并将它们显示在主题页面上..但它只显示最后发布的代码而没有其他..我不知道我哪里错了..

你可以在这里看到效果test forum如果你们能帮上忙,请...

最佳答案

每次循环它都会用当前行替换 $disp 的值。您需要附加它们而不是替换它们,即

$disp .= '<div class="tmain"> ... </div>';
      ^

此外,return $disp; 语句需要位于 while 循环之外。您将在循环的第一次迭代期间返回。

而不是对每个用户名/头像进行单独的查询,您应该在主查询中使用连接进行查询:

SELECT c.*, u.username, u.avatar
FROM comment c
JOIN user u ON u.user_id = c.user_id
WHERE topic_id = '$topic_id'
ORDER BY time DESC
LIMIT 20

关于php代码没有按预期获取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16756009/

上一篇:css - Compass CSS Framework 如何在没有表示类的情况下制作更清晰的标记?

下一篇:jquery - 如何在屏幕调整大小时附加 div

相关文章:

javascript - jslint :test for overrideMimeType() property in (new XMLHttpRequest())

javascript - highcharts 重绘和回流不起作用

javascript - 我们可以在 Javascript 中将 Unicode 转换为 ASCII 吗? charCodeAt() 仅适用于 Unicode?

javascript - 具有 Transclusion 和分块数据的 AngularJS 指令

PHP 指定方法的返回类型提示

PHP - 通过引用传递可变数量的参数

php - 如何使用 php 在 mysql 中检索星期几

javascript - 在禁用 JavaScript 的情况下使用 HTML 提交表单

javascript - jquery - 引导按钮上的功能在第一次点击时不执行

php - 在线 PHP/HTML/JS/CSS 编辑器