如何在无需输入文本字段的情况下使用$ _POST

时间:2019-03-12 07:06:18

标签: php html sql ajax

我将使用伪代码和代码片段总结我的目标,以便轻松显示我想要完成的工作:

表列:

       <td data-target="scheduled">

         <?php
           if ($row['scheduled'] == 1) {
          ?>

          <a href="#" data-role="update" data-id="<?php echo $row['id'] ;?>">YES</a>

         <?php
           } else if ($row['scheduled'] == 0) {
           ?>
          <a href="#" data-role="update" data-id="<?php echo $row['id'] ;?>">NO</a>
         <?php
           }
          ?>
       </td>

这是一个表列,其中的按钮取决于值为1(是)和0(否)的值

sched

模式:

<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
      </div>
      <div class="modal-body">
        <div class="form-group">
          <label>UPDATE SCHEDULED?</label>
          <input type="text" id="scheduled" class="form-control">
        </div>
        <input type="hidden" id="userId" class="form-control">

      </div>
      <div class="modal-footer">
        <a href="#" id="save" class="btn btn-primary pull-right">Update</a>
        <button type="button" class="btn btn-default pull-left" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

只要单击“是”或“否”按钮,就会弹出此模式

modal

现在,我可以将文本字段更改为1或0,以便输出将显示相应的结果。

我正在尝试获取“ $ scheduled = $ _POST ['scheduled'];”点击后自动获得输入,如果列为0,则$ _POST将变为1;如果列为1,则$ _POST将变为0。

Ajax:

<script>
  $(document).ready(function(){

      $(document).on('click','a[data-role=update]',function(){
            var id  = $(this).data('id');
            var scheduled  = $('#'+id).children('td[data-target=scheduled]').text();

            $('#scheduled').val(scheduled);
            $('#userId').val(id);
            $('#myModal').modal('toggle');
      });


       $('#save').click(function(){
          var id  = $('#userId').val();
          var scheduled = $('#scheduled').val();

          $.ajax({
              url      : 'connection.php',
              method   : 'post',
              data     : {scheduled: scheduled , id: id},
              success  : function(response){

                             $('#'+id).children('td[data-target=scheduled]').text(scheduled);
                             $('#myModal').modal('toggle');

                         }
          });
       });
  });
</script>

这是当前的ajax代码,它在文本字段中获取值。

SQL:

if(isset($_POST['id'])){

    $id = $_POST['id'];
    $scheduled = $_POST['scheduled'];

    $result  = mysqli_query($connection , "UPDATE user SET scheduled = '$scheduled' WHERE id='$id'");
}
?>

借助ajax更新列的SQL代码。

使用伪代码进行总结:(不会手动输入文本字段,只有一个按钮即可直接使用ajax更新)

模式:

 if ($row['scheduled'] == 1) {
    textfield input is 0
} else if ($row['scheduled'] == 0) {
    textfield input is 1
}

我认为,如果我能使我的模式中的if语句正常工作,那么其余部分将由ajax和SQL完成,并且我将获得一个响应按钮来更改文本(是或否)。

将感谢您的帮助。

0 个答案:

没有答案