укажите идентификатор для каждой итерации и добавьте идентификатор в событие addPost, чтобы публикация получала данные только в соответствии с определенным идентификатором
измените код так, чтобы он был таким
<?php
// Query Result
$uniq = 1;
foreach ($sql->result() as $row) {
echo '
<div class="media mt-4">
<div class="media-body text-muted text-small">
<input class="d-none" value="'.$row->cY.'" name="post_X_'.$uniq.'" id="post_X_'.$uniq.'">
<input class="d-none" value="'.$row->cZ.'" name="post_Y_'.$uniq.'" id="post_Y_'.$uniq.'">
<div class="input-group">
<input style="background:#fafafa" type="text" name="post_Z_'.$uniq.'" id="post_Z_'.$uniq.'" placeholder="Join conversation here..." class="form-control">
<div class="input-group-append">
<button type="button" onclick="addPost('.$uniq.')" class="btn btn-outline-secondary"><i class="fa fa-send"></i></button>
</div>
</div>
</div>
</div>';
$uniq++;
}
?>
и ajax
<script>
function addPost(id) {
if(!$("#post_Z_"+id).val()) {
// An Alert!
} else {
var post_X = $("#post_X_"+id).val();
var post_Y = $("#post_Y_"+id).val();
var post_Z = $("#post_Z_"+id).val();
$.post("reply.php", {
uid: post_X,
cid: post_Y,
txt: post_Z
}, function (data, status) {
// An Alert!
});
};
}
</script>
могут это помочь