使用ajax更新表列将注销会话(用户)

时间:2019-04-11 05:48:27

标签: php html sql ajax

我具有一些特定问题的Ajax更新功能,我敢肯定,只需进行一些调整即可使其100%奏效。

我将尽力总结以下问题。

我有两个相互交互的文件:

  • orders.php
  • orders-claimed.vc.php

我的Ajax尝试根据所单击的按钮更新表int值。否= 0,是= 1,取消= 2。

orders.php

  • 页面开始

        <?php
          session_start();
          require_once('orders-claimed.vc.php');
         ?>
    
  • 按钮的表格列:

                   <td data-target="scheduled">
                     <input id='userId' type='hidden'/>
                     <?php
                       if ($rowOrder['scheduled'] == 1) {
                      ?>
    
                      <a href="#" data-role="update" data-id="<?php echo $rowOrder['orderid'] ;?>"><button class="btn-success">YES</button></a>
    
                     <?php
                   } else if ($rowOrder['scheduled'] == 0) {
                       ?>
                      <a href="#" data-role="update" data-id="<?php echo $rowOrder['orderid'] ;?>"><button class="btn-danger">NO</button></a>
                     <?php
                   } else if ($rowOrder['scheduled'] == 2) {
                       ?>
                      <a href="#" data-role="update" data-id="<?php echo $rowOrder['orderid'] ;?>"><button class="btn-warning">CANCELLED</button></a>
                     <?php
                       }
                      ?>
                   </td>
    
  • 用于与表格互动的模式

             

       <!-- Modal content-->
       <div class="modal-content" style="width: 300px; margin: 0 auto;">
         <div class="modal-header">
           <button type="button" class="close" data-dismiss="modal">&times;</button>
         </div>
         <div class="modal-body">
           <div class="form-group">
             <a href="#" id="update_yes" class="btn btn-success text-center center-block">YES</a><br>
             <a href="#" id="update_no" class="btn btn-danger text-center center-block">NO</a><br>
             <a href="#" id="update_cancelled" class="btn btn-warning text-center center-block">CANCEL</a>
           </div>
    
         </div>
       </div>
    
     </div>
    

  • ajax代码

    <script>
        $(document).ready(function(){
    
      //  append values in input fields
        $(document).on('click','a[data-role=update]',function(){
              var id  = $(this).data('id');
              var scheduled  = $('#'+id).children('td[data-target=scheduled]').text();
    
              $('#userId').val(id);
              $('#myModal').modal('toggle');
        });
    
        // now create event to get data from fields and update in database
    
        $('#update_no').click(function(){
           var id  = $('#userId').val();
           var scheduled = 0;
    
           $.ajax({
               url      : 'orders-claimed.vc.php',
               method   : 'post',
               data     : {scheduled: scheduled , id: id},
               success  : function(response){
                             // now update user record in table
                              $('#'+id).children('td[data-target=scheduled]').html('<a href="#"><button class="btn-danger">NO</button></a>');
                              $('#myModal').modal('toggle');
    
                          }
           });
        });
    
        $('#update_yes').click(function(){
           var id  = $('#userId').val();
           var scheduled = 1;
    
           $.ajax({
               url      : 'orders-claimed.vc.php',
               method   : 'post',
               data     : {scheduled: scheduled , id: id},
               success  : function(response){
                             // now update user record in table
                              $('#'+id).children('td[data-target=scheduled]').html('<a href="#"><button class="btn-success">YES</button></a>');
                              $('#myModal').modal('toggle');
    
                          }
           });
        });
    
        $('#update_cancelled').click(function(){
           var id  = $('#userId').val();
           var scheduled = 2;
    
           $.ajax({
               url      : 'orders-claimed.vc.php',
               method   : 'post',
               data     : {scheduled: scheduled , id: id},
               success  : function(response){
                             // now update user record in table
                              $('#'+id).children('td[data-target=scheduled]').html('<a href="#"><button class="btn-warning">CANCELLED</button></a>');
                              $('#myModal').modal('toggle');
    
                          }
           });
        }); }); 
     </script>
    

请注意,以上所有代码都在同一个文件(orders.php)中

  • 表格列用户界面

[![1] [2]] [2]

  • 模态

[![modal] [1]] [1]

  • SQL表名称“顺序” [![2] [3]] [3]

这些是我在页面中的扩展名。大多数都存储在文件夹中并正在链接。

   <script src="../_lib/v/jquery.slim.min.js"></script>

   <script src="../_lib/v/bootstrap/js/bootstrap.js"></script>

   <script src="../_lib/v/jquery-ui/jquery-ui.js"></script>

   <script src="../_lib/v/jscolor/jscolor.js"></script>

   <script src="js/cms.js"></script>

   <link href="../_lib/v/bootstrap/css/bootstrap.min.css" rel="stylesheet">

Ajax在slim.min.js下无法运行,并显示“不是函数错误”,因此我将其从https://code.jquery.com/jquery-3.3.1.js更改为常规版本的jquery

问题

如果我切换到完整版的jquery,则该列会更新,但是会话(已登录的用户)会结束并自动注销。为什么会这样?

orders-claimed.vc.php也是SQL更新发生的地方。

0 个答案:

没有答案