Я пытаюсь создать систему комментирования постов на примере сайта. И я не могу напечатать точные комментарии к исходному посту. Я создал две таблицы updates
а также comment_update
и держал os_id
как общая строка таблицы, где она ссылается на update_id таблицы обновлений. все кажется в порядке, за исключением петель, которые портят вывод. Любой совет о том, как исправить это, как я пытался с какое-то время & другие циклы все дает ту же проблему.
Вот мой код для этой логики:
<?php
$status_replies="";
$statusui_edit="";
$status2view=$project->statusView($_SESSION['uname']);
foreach($status2view as $row){
$updateid=$row['update_id'];
$account_name=$row['account_name'];
$os_id=$row['os_id'];
$author=$row['author'];
$post_date=$row['time'];
$title= stripslashes($row['title']);
$data= stripslashes($row['update_body']);
$statusdeletebutton='';
$sql1="select * from updates,comment_update
where comment_update.os_id like updates.update_id
and comment_update.type like 'b'";
$sql2="select * from updates
left join comment_update using (os_id)
where comment_update.os_id=:statusid limit 1 ";
$stmth=$conn->prepare($sql2);
// $stmth->bindparam(":either",$_SESSION['uname']);
$stmth->bindparam(":statusid",$updateid);
$stmth->execute();
$status_reply= $stmth->fetchAll(PDO::FETCH_ASSOC);
foreach ($status_reply as $row1) {
$status_reply_id=$row1['comment_id'];
$reply_author=$row1['author'];
$reply_d=htmlentities($row1['comment_body']);
$reply_data= stripslashes($reply_d);
$reply_osid=$row1['os_id'];
$reply_date=$row1['time'];
$reply_delete_button="";
if ($reply_author==$_SESSION['uname'] ) {
$reply_delete_button.="<li><span id='$status_reply_id' class='delete_reply_btn glyphicon glyphicon-remove'><a href='#' title='Delete this comment'>Remove X</a></span></li>";
}
if ($updateid==$reply_osid) {
$status_replies.="<div class='replyboxes pull-left reply_".$status_reply_id."'>Reply by:-<a href='search_results.php?u=".$reply_author."'>".$reply_author."</a>". "<span class='pull-right'>".$reply_date
. "<b class='caret'>
<small><span class='btn-xs btn-danger dropdown-toggle pull-right' data-toggle='dropdown' aria-expanded='true' ><span class='glyphicon glyphicon-edit'></span>
<ul class='dropdown-menu'>".$reply_delete_button
. "<li><a href='#' class='hidden_text_area glyphicon glyphicon-pencil reply_".$status_reply_id."' title='Edit this comment' >Edit</a></li>". "<li><a href='report.php?u='".$reply_author."'>Report</a><li></ul>". "</span></span></small></b><br><legend>". html_entity_decode($reply_data)."</legend><br></div>";
} else {
$status_replies.="";
}
//insert_status_ui script to get message.
if ($author==$_SESSION['uname'] || $account_name==$_SESSION['uname']) {
$statusdeletebutton='<li>'
. '<a href="#" type="'.$updateid.'" class="delete_4_session hidden_text_delete_'.$updateid.' glyphicon glyphicon-trash delete_reply_btn" title="Delete this status and its replies">Remove</a></li>';
}
$status_list= $statusui_edit.'<div attr="'.$updateid.'" type="'.$updateid.'" class="statusboxes status_'.$updateid.' jumbotron">'
. '<h3 style="color:black; margin-bottom:5px; margin-top:5px;" class="pull-left">'
. '<div id="'.$updateid.'" class="title_s_2copy" value="'.html_entity_decode($title).'">'.html_entity_decode($title).'</div></h3>'
. '<span class="pull-right">'
. '<div class="dropdown">'
. '<button type="button" class="btn btn-danger dropdown-toggle" data-toggle="dropdown" >'
. '<span class="glyphicon glyphicon-edit"></span></button>'
. '<ul class="dropdown-menu">'
. '<li><a href="#" attr="'.$updateid.'" type="'.$updateid.'" class="edit_4_session hidden_text_edit glyphicon glyphicon-pencil" title="Edit this status" >Edit</a></li>'.$statusdeletebutton.'</ul></div></span><br><hr>'
. '<legend><span class=" data_s_2copy" type="'.$updateid.'" >'
. html_entity_decode($data).'</span><br><br></legend><b style="text-align:right; color:black;"><small>Posted by:- <a href="search_results.php?u='.$author.'">'.$author. '</a> '.$post_date.'</small></b>'
. '<br><p>'.$status_replies.'</p><br>';
$status_list.= '<textarea id="reply_textarea_'.$updateid.'" class="status_reply_'.$updateid.' input-custom2" placeholder="comment\'s"></textarea>'
. '<button id="reply_btn_'.$updateid.'" attr="'.$updateid.'" type="b" class="btn btn-warning pull-right btn-sm reply_btn reply_'.$updateid.'">Reply</button></div>';
}
echo $status_list;
}
Задача ещё не решена.
Других решений пока нет …