如何通过MySql查询结果中的循环输入表单(动态地)发布Ajax onClick

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过MySql查询结果中的循环输入表单(动态地)发布Ajax onClick相关的知识,希望对你有一定的参考价值。

我想就如何通过mysql查询结果中的循环输入形式(动态地)解决Ajax帖子提出建议。

<?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>

非常感谢

答案

为每次迭代提供一个ID,并将该ID添加到addPost事件中,以便该帖子仅根据定义的ID检索数据

将代码更改为这样

<?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>

可能有帮助

以上是关于如何通过MySql查询结果中的循环输入表单(动态地)发布Ajax onClick的主要内容,如果未能解决你的问题,请参考以下文章

mysql多条件动态查询

jQuery load()

如何在 Access 表单中显示查询结果?

Java结果集最大列?

shinyR - 通过文本动态引用输入字段值

如何动态地将 id 传递给 Bootstrap 验证器规则的 url:远程用于相同的表单输入字段?