Как опубликовать Ajax onClick через циклическую форму ввода (динамически) из MySql результата запроса - PullRequest
0 голосов
/ 18 февраля 2020

Я хотел бы предложить, как решить сообщение Ajax с помощью циклической формы ввода (динамически) из результата запроса MySql.

<?php
// Query Result
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" id="post_X">
    <input class="d-none" value="'.$row->cZ.'" name="post_Y" id="post_Y">
    <div class="input-group">                             
      <input style="background:#fafafa" type="text" name="post_Z" id="post_Z" placeholder="Join conversation here..." class="form-control">
      <div class="input-group-append">
        <button type="button" onclick="addPost()" class="btn btn-outline-secondary"><i class="fa fa-send"></i></button>
      </div>
    </div>
  </div>
</div>';
}
?>

Ajax скрипт

<script>
function addPost() {
    if(!$("#post_Z").val()) {
        // An Alert!
    } else {
        var post_X = $("#post_X").val();
        var post_Y = $("#post_Y").val();
        var post_Z = $("#post_Z").val();
        $.post("reply.php", {
            uid: post_X,
            cid: post_Y,
            txt: post_Z
        }, function (data, status) {
            // An Alert!
        });
    };
}
</script>

Большое спасибо

1 Ответ

0 голосов
/ 18 февраля 2020

укажите идентификатор для каждой итерации и добавьте идентификатор в событие 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>

могут это помочь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...