PHP/JavaScript发布到顶部

PHP/JavaScript post to top?

本文关键字:顶部 JavaScript PHP      更新时间:2023-09-26

我有一个用PHP和JavaScript编写的评论系统,但每次我发布评论时,评论都会掉到底部。如何使其显示在顶部?

这是我的代码:

PHP代码:

<?php
$sql = mysql_query( "SELECT * FROM `comments` WHERE perma_id = '$permalink' ORDER BY `date` DESC" );
$count = mysql_num_rows( $sql );
?>
<h2 class="comments"><?php echo $count; ?> Comments</h2>
<div id="flash"></div>
<ol id="update" class="timeline">
<?php
while( $row = mysql_fetch_assoc( $sql ) ) {
    $userSql = mysql_query( "SELECT * FROM `members` WHERE `id` = '$row[userid]'" );
    $userRow = mysql_fetch_assoc( $userSql );
    $name = $userRow[ 'userid' ];
    $comment = $row[ 'comment' ];
    $cDate = $row[ 'date' ];
    $icon = $userRow[ 'icon' ];
?>
<li class="box">
    <div class="left"><a href="<?php echo $site_url . '/wall/' . $name; ?>"><img src="<?php echo $site_url . '/' . $icon; ?>"/></a></div>
    <div class="right">
        <div class="name"><a href="<?php echo $site_url . '/wall/' . $name; ?>"><?php echo $name;?></a> said...</div>
        <div class="date"><?php echo date("M d, Y g:i a", $cDate); ?></div>
        <div class="clearfix"></div>
        <div class="comm">
            <div class="inside">
                <?php echo $comment; ?>
            </div>  
        </div>
    </div>
</li>
<?php
}
?>

JavaScript代码:

$(function() {
$('.com_submit').click(function() {
    var comment = $("#comment").val();
    var user_id = $("#user_id").val();
    var perma_id = $("#perma_id").val();
    var dataString = { comment: comment, user_id: user_id, perma_id: perma_id };
    if(comment=='') {
        alert('Please Give Valid Details');
    }
    else {
        $("#flash").show();
        $("#flash").fadeIn(400).html('<img src="../images/ajax-loader.gif" align="left" /> Loading Comment');
        $.ajax({
            type: "POST",
            url: "../commentajax.php",
            data: dataString,
            cache: false,
            success: function(html){
                $("ol#update").append(html);
                $("ol#update li:first").fadeIn("slow");
                $("#flash").hide();
            }
        });
    }
    return false;
}); 
});

我有li:first,但它不在的顶部

使用.prepend()而不是.append()

您的:first淡入正在工作,它只是已经可见。但请记住,这只是一个jQuery选择器。

.append总是走到最后。我通常复制ol的内容,将其附加到返回的dataString中,然后将其放回ol中。

.prepand(html) 替换.append(html)

我认为这是因为当你在javascript中调用append(html)时,输出会被附加到更新div的末尾。…当然,如果你也发布html(div代码)

会很有用