是否可以用php条件解析jQuery.append中的Html

Is it possible to parsing Html inside jQuery .append with php condition?

本文关键字:jQuery append 中的 Html 条件 php 是否      更新时间:2023-09-26

我想在另一个用户提交评论时更新用户墙评论。在这里,我的用户用php通过jQuery提交了一条评论。评论提交运行良好。我的问题是在更新其他用户页面的墙。

所以对于更新,作为一种简单的方式,我使用下面的代码在所有用户墙页面上更新它。

但我使用了许多php条件来发布成功评论。

下面是我的php echo",它在成功后发布了一条评论。

echo'<div class="case postcom'.$id.'"><div class="comment">
    <div class="cdomment_cheder">
    <div class="avatarcnt">
    <img alt="" src="uploadprofile/'.$u_imgurl.'"/></div><div class="newkochi">';
    if ($url=="") {
    echo'<p class="name">'.$username.' Says:</p>'; }
    else  echo'<p class="name"><a href="'.$url.'" title="'.$username.'">'.$username.'</a> Says:</p>';
    echo'<span class="cdomment_time">'.$date.'</span>
    <div class="cdomment_text">';
    if ($description=="") {echo '';}
    else echo''.nl2br(smileys($description)).'<br>';
    if ($img=="") {echo '';}
    else echo'<br><img src="comimage/'.$img.'" />';
    echo '</div>';
    //delete
    include_once("session.php");
    if($_SESSION['username'] == "admin" or $_SESSION['username'] == trim($_GET['user'])){
    echo'<div class="delete_box"><a href="javascript: void(0)" id="delc'.$id.'" class="delete">Delete</a></div>';
    }
    //Likes
    echo'<div class="likePanel"><span id="like-panel-'.$id.'">';
    if($like_ip_num > 0){       
    echo'<a href="javascript: void(0)" id="post_id'.$id.'" class="Unlike">Unlike</a>';
        } else {
            echo'<a href="javascript: void(0)" id="post_id'.$id.'" class="LikeThis">Like</a>';
        }           
        echo'</span><span class="bubble">           
            <span id="like-stats-'.$id.'"> '.$likes.' </span> liked </span></div></div></div>'; 
    echo'</div>';

因此,根据上面的代码,我想通过jQuery附加(在更新墙的情况下)它,我按照下面的方式进行了尝试,但我无法忍受如何应用我的phpif条件以及我的删除和点赞按钮。

$(".content").append("<div class='"+ type +"'><div class='comment'>
<div class='cdomment_cheder'><div class='avatarcnt'><img alt=''   src='uploadprofile/"+ msg.u_imgurl +"'/></div>
<div class='newkochi'><p class='name'><a href='"+ msg.url +"' title='"+ msg.username +"'>"+ msg.username +"</a> Says:</p><span class='cdomment_time'>"+ msg.date +"</span>
<div class='cdomment_text'>"+ msg.description +"<br><br><img src='comimage/"+ msg.img +"' /></div>
</div></div></div></div>");

这是我为您进一步要求的完整更新邮政编码

jQuery:

function addmsg(type, msg){
    $(".content").append("<div class='"+ type +"'><div class='comment'><div class='cdomment_cheder'><div class='avatarcnt'><img alt='' src='uploadprofile/"+ msg.u_imgurl +"'/></div><div class='newkochi'><p class='name'><a href='"+ msg.url +"' title='"+ msg.username +"'>"+ msg.username +"</a> Says:</p><span class='cdomment_time'>"+ msg.date +"</span><div class='cdomment_text'>"+ msg.description +"<br><br><img src='comimage/"+ msg.img +"' /></div></div></div></div></div>");
}
function waitForMsg(){
    $.ajax({
        type: "GET",
        url: "/server.php",
        cache: false,
        timeout:15000, 
        success: function(data){ 
            addmsg("case", data);
            setTimeout(
                waitForMsg, 
                15000 
            );
        },
        error: function(XMLHttpRequest, textStatus, errorThrown){
            setTimeout(
                waitForMsg, 
                15000); 
        }
    });
};
$(document).ready(function(){
    waitForMsg(); 
});

server.php

include("../db.php");
global $dbh;
header('Content-Type: application/json; charset=utf-8');
while (true) {
date_default_timezone_set('Asia/...');
$datetime = date('Y-m-d H:i:s', strtotime('-15 second'));
$results = mysqli_query($dbh,"SELECT * FROM comments WHERE qazi_id='1012' AND date >= '$datetime' ORDER BY date DESC LIMIT 1") or die(mysqli_error($dbh));
$rows =  mysqli_fetch_assoc($results);
$row[] = array_map('utf8_encode', $rows);
$data = array();
$data['id'] = $rows['id']; /* I want use this id to display once*/
$data['qazi_id'] = $rows['qazi_id'];
$data['likes'] = $rows['likes'];
$data['username'] = $rows['username'];
$data['img'] = $rows['img'];
$data['description'] = $rows['description'];
$data['url'] = $rows['url'];
$data['parent_id'] = $rows['parent_id'];
$data['date'] = $rows['date'];
//has data
if (!empty($data)) {
    echo json_encode($data);
    flush();
    exit(0);
}
sleep(5);
}  

试试这个。。在服务器中.php

<?php
 if($_SESSION['username'] == "admin" or $_SESSION['username'] == trim($_GET['user'])){
    $html .='<div class="delete_box"><a href="javascript: void(0)" id="delc'.$id.'" class="delete">Delete</a></div>';
    }
    //Likes
    $html .='<div class="likePanel"><span id="like-panel-'.$id.'">';
    if($like_ip_num > 0){       
     $html .='<a href="javascript: void(0)" id="post_id'.$id.'" class="Unlike">Unlike</a>';
        } else {
            $html .='<a href="javascript: void(0)" id="post_id'.$id.'" class="LikeThis">Like</a>';
        }           
        $html .='</span><span class="bubble">           
            <span id="like-stats-'.$id.'"> '.$likes.' </span> liked </span></div></div></div></div>'; 
    ?>
$data['html'] = $html;

在需要添加按钮的位置添加"+ msg.html +"

您的脚本将如下所示:

<script>
$(".content").append("<div class='"+ type +"'><div class='comment'><div class='cdomment_cheder'><div class='avatarcnt'><img alt='' src='uploadprofile/"+ msg.u_imgurl +"'/></div><div class='newkochi'><p class='name'><a href='"+ msg.url +"' title='"+ msg.username +"'>"+ msg.username +"</a> Says:</p><span class='cdomment_time'>"+ msg.date +"</span><div class='cdomment_text'>"+ msg.description +"<br><br><img src='comimage/"+ msg.img +"' /></div>"+ msg.html +"</div></div></div></div>");
</script>