Я создаю небольшой проект службы поддержки, где комментарии могут быть отправлены на странице.
У каждого запроса в службу поддержки будет страница, на которой загружаются данные о билетах.
<?php
if(isset($_GET['id'])){
$mysqli = NEW MYSQLi ('localhost', 'root','','support');
$id = mysqli_real_escape_string($mysqli, $_GET['id']);
$sql="SELECT * FROM newticket WHERE id='$id' ";
$result =mysqli_query($mysqli, $sql) or die("Bad Query: $sql");
$row = mysqli_fetch_array($result);
}
?>
При представлении комментария на этой странице комментарий также будет загружен на эту страницу. Теперь, поскольку я отправил на эту страницу, я sh, чтобы он был виден только на этой странице. Но он появляется на всех страницах моего билета.
У меня есть поле в форме, которое отправляет идентификатор страницы в форму комментария. ticket_no Следовательно, ticket_no теперь равен идентификатору страницы и идентификатору заявки. Представление работает нормально, а ticket_no создается.
<div class="form-group">
<input type="text" name="ticket_no" id="ticket_no" class="form-control" placeholder="Enter Name" value="<?php echo $row['id']?>" />
</div>
<div class="form-group">
<textarea name="comment_content" id="comment_content" class="form-control" placeholder="Enter Comment" rows="5"></textarea>
fetch_comment. php
<?php
//fetch_comment.php
$connect = new PDO('mysql:host=localhost;dbname=support', 'root', '');
$query = "
SELECT * FROM tbl_comment
WHERE parent_comment_id = '0'
ORDER BY comment_id DESC
";
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$output = '';
foreach($result as $row)
{
$output .= '
<div class="panel panel-default">
<div class="panel-heading">By <b>'.$row["comment_sender_name"].'</b> on <i>'.$row["date"].'</i></div>
<div class="panel-body">'.$row["comment"].'</div>
<div class="panel-footer" align="right"><button type="button" class="btn btn-default reply" id="'.$row["comment_id"].'">Reply</button></div>
</div>
';
$output .= get_reply_comment($connect, $row["comment_id"]);
}
echo $output;
function get_reply_comment($connect, $parent_id = 0, $marginleft = 0)
{
$query = "
SELECT * FROM tbl_comment WHERE parent_comment_id = '".$parent_id."'
";
$output = '';
$statement = $connect->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$count = $statement->rowCount();
if($parent_id == 0)
{
$marginleft = 0;
}
else
{
$marginleft = $marginleft + 48;
}
if($count > 0)
{
foreach($result as $row)
{
$output .= '
<div class="panel panel-default" style="margin-left:'.$marginleft.'px">
<div class="panel-heading">By <b>'.$row["comment_sender_name"].'</b> on <i>'.$row["date"].'</i></div>
<div class="panel-body">'.$row["comment"].'</div>
<div class="panel-footer" align="right"><button type="button" class="btn btn-default reply" id="'.$row["comment_id"].'">Reply</button></div>
</div>
';
$output .= get_reply_comment($connect, $row["comment_id"], $marginleft);
}
}
return $output;
}
?>
Мне нужно загружать комментарии, когда идентификатор страницы / идентификатора билета равен комментарию ticket_no.
ticket. php
<script>
$(document).ready(function(){
$('#comment_form').on('submit', function(event){
event.preventDefault();
var form_data = $(this).serialize();
$.ajax({
url:"add_comment.php",
method:"POST",
data:form_data,
dataType:"JSON",
success:function(data)
{
if(data.error != '')
{
$('#comment_form')[0].reset();
$('#comment_message').html(data.error);
$('#comment_id').val('0');
load_comment();
}
}
})
});
load_comment();
function load_comment()
{
$.ajax({
url:"fetch_comment.php",
method:"POST",
success:function(data)
{
$('#display_comment').html(data);
}
})
}
$(document).on('click', '.reply', function(){
var comment_id = $(this).attr("id");
$('#comment_id').val(comment_id);
$('#comment_name').focus();
});
});
</script>