Вот мой Ajax, и я хочу отправить ответ в определенный комментарий, но он работает только с последним комментарием, который вставляется в базу данных. Я думаю, что модель и контроллер работают нормально.Ответ CodeIgniter с использованием ajax работает только с первыми данными
$(document).ready(function() {
$('#btn_ReplyComment').click(function(){
var commentReply = $('#commentReply').val();
var ReplyDate = $('#ReplyDate').val();
var commentID = $('#commentID').val();
$.ajax({
type:'POST',
data: {commentReply: commentReply, ReplyDate: ReplyDate, commentID: commentID},
url: '<?php echo site_url('Isidran/Reply_Comment'); ?>',
})
})
});
и мой модальное
<?php foreach ($showComment as $row): ?>
<div>
<h4><?php echo $row['username'].":" ?> </h4>
<?php echo $row['comDate'] ?><br />
<?php echo $row['comment'] ?><br />
//button to trigger modal
<button id="com_btn_2" class="btn btn-success btn-sm" data-toggle="modal" data-target="#myModal1<?php echo $row['commentID'] ?>">reply</button>
</div>
<hr> </hr>
//modal to reply into comment only works on the last entered comment
<!-- Modal -->
<div id="myModal1<?php echo $row['commentID'] ?>" class="modal fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">Reply to this Comment?</h4>
</div>
<div class="modal-body">
<h3><p><?php echo $row['comment'] ?></p></h3>
<h5>Reply:</h5>
<?php $date = date('Y-m-d G:i:s'); ?>
<textarea class="form-control" style="resize:none;" id="commentReply" name="commentReply" maxlength="160" rows="5" cols="50"></textarea>
<input type="hidden" id="ReplyDate" value="<?php echo $date; ?>">
<input type="hidden" id="commentID" value="<?php echo $row['commentID']; ?>">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-danger" data-dismiss="modal" id="btn_ReplyComment">Send</button>
</div>
</div>
</div>
</div>
<?php endforeach; ?>
контроллер:
public function Reply_Comment(){
$this->Blog_model->login();
if($this->session->userdata('userID')){
$userID =$this->session->userID;
$username =$this->session->username;
$reply = $this->input->post('commentReply',true);
$commentID = $this->input->post('commentID',true);
$ReplyDate = $this->input->post('ReplyDate',true);
$data['replyComment']=$this->Blog_model->replyComment($commentID, $userID, $username, $reply, $ReplyDate);
} else {
redirect('CodeSmart/loginFail' , 'refresh');
}
}
модель:
public function replyComment($commentID, $userID, $username, $reply, $ReplyDate){
if($commentID && $userID && $username && $reply && $ReplyDate){
$query = $this->db->query("INSERT INTO `blog`.`tbl_reply` (comment_id, reply_user_id, reply_username, reply, replydate) VALUES ('$commentID', '$userID', '$username', '$reply', '$ReplyDate')");
}
}
8 месяцев слишком поздно, но благодаря этому мне очень помогает, –