代码之家  ›  专栏  ›  技术社区  ›  usman610

使用javascript/ajax更新SPAN的php无法正常工作

  •  0
  • usman610  · 技术社区  · 7 年前

    我正在使用下面的脚本更新一个跨度,但如果条件为false,则它可以工作,如果条件为true,则它不会更新。

    我观察到它执行相同的错误条件,当我第二次单击它时,它会更新数量,但比数据库中记录的实际数量少1个数字。

    就像total records是2,当我单击submit时,脚本运行,如果数据库记录中的条件为true,则更新=3,但在范围中显示2。

    当我单击第二次时,数据库中的记录为=4,在范围中显示3。

    单击并运行脚本的按钮

    <input onclick='updateTitems("1");' type="submit" class="btn-style-2 mg-left-5" value="ADD TO CART">
    

    脚本

    <script>
    function updateTitems(id) {
        var uid = "<?php echo $ses_mem; ?>";
       $.ajax({
         type: "GET",
         url: 'inc/menu_update_total_items.php',
         data: "id=" + id + "&uid=" + uid,
         success: function(data) {
              $('.summary12').html(data);
         }
       });
    }
    </script>
    

    menu_update_total_items.php菜单

    $user_id    =   $_GET['uid'];
    
    $item   = "select count(*) as records 
    from orders_temp
    where user_id = '".$user_id."'
    ";
    $itemq  = $dba->query($item);
    $itemr  = $itemq->fetch_assoc();
    $count  = $itemr['records'];
    ---------------------------------
    $itemx  = "select count(*) as records 
    from orders_temp
    where date = now()
    and user_id = '".$user_id."'
    ";
    $itemqx     = $dba->query($itemx);
    $itemrx     = $itemqx->fetch_assoc();
    
    $check      = $itemrx['records'];
    
    <span class="summary12"><!-- class of javascript -->
    <?php
    if ($check == 1){
        echo $count+1;
    }else{
        echo $count;
    }
    ?>
    Items 
    </span>
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   usman610    7 年前

    在尝试了很多事情之后,我想出了下面的解决方案,这个问题已经解决了。

    请你对此发表意见。谢谢

    纽扣

    <input onclick='updateTitems();' type="submit" class="btn-style-2 mg-left-5" value="ADD TO CART">
    

    脚本

    function updateTitems(){
        $.ajax({
          url: "menu_update_total_items.php",
          cache: false,
          success: function(data){
             $(".summary12").html(data);
    
        //div or span reload script after success
        setInterval(function () {
        $('.summary12').load('inc/menu_update_total_items.php');
        }, 1000);
    
          } 
        });
    }
    

    menu_update_total_items.php菜单

    <?php 
    @session_start();
    include ("inc/db.php");
    
    $ses_mem =  session_id();
    
    $items  = "select count(*) as trecords 
    from orders_temp
    where user_id = '".$ses_mem."' ";
    $item   = $dba->query($items);
    $count  = $toitemszx->fetch_assoc();
    ?>
    <a href="cart/review" class="cart-link">
    <i class="fa fa-shopping-basket"></i>
        <?php echo $count['trecords']; ?>
    Items 
    </a>