简体   繁体   English

PHP jQuery无法自动刷新div

[英]Php jquery is not auto refreshing the div

I am trying to auto refresh a div which contains the Sub Total of item but its not working/refreshing the div. 我正在尝试自动刷新一个div,该div包含项的Sub Total,但它不起作用/刷新div。 I tried many things but its not ready to work. 我尝试了很多事情,但是还没有准备好工作。

I am refreshing the Grand Total which updates/refreshes perfectly fine and if i removes a sub item of a main item it changes the Grand Total fine but does not change the Sub Total of the items. 我正在刷新更新/刷新完全正确的总计,如果我删除了主要项目的子项目,它将更改总计,但不会更改项目的子总计。

在此处输入图片说明

I am using the separate refresh code for the grand total. 我正在使用总计的单独刷新代码。

My codes are below: 我的代码如下:

index.php index.php

<?php
$order_temp =   mysql_query("select * from temp_cart where ses_mem='".$ses_mem."' order by id");

while ($torder = mysql_fetch_array($order_temp)) {
$prITTD     =   $torder['id'];
$prITTC     =   $torder['item_id'];
?>

<script>
function refreshTable() {
    $('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + <?php echo $prITTC; ?>, function() {
       setTimeout(function () { refreshTable() }, 1000);
    });
}
</script>

<div class="amount tableHolder">
</div>
<?php } ?>

itemtotal_cart_checkout.php itemtotal_cart_checkout.php

<?php
@session_start();
include('inc/db.php');
$ses_mem    =   $_SESSION['ses_user_id'];
//session_id();
$getItem    =   $_GET['item_id'];

$order_temp =   "select * from temp_cart where item_id='".$getItem."' AND ses_mem='".$ses_mem."' order by id";
$tordera = $db->query($order_temp);
while ($torder = $tordera -> fetch_assoc()){


    $prITTD     =   $torder['id'];
    $prITTC     =   $torder['item_id'];
    $prIDTC     =   $torder['price_id'];
    $qtyT       =   $torder['qty'];
?>
<span class="amount">
<?php   
$chTPaa =   mysql_query("
select choice_id
FROM temp_choices
WHERE item_id = '$getItem'
AND ses_mem = '$ses_mem'
group by choice_id
");
$numRows    =   mysql_num_rows($chTPaa);

while ($chGETaa =   mysql_fetch_assoc($chTPaa)){
$temp[] = $chGETaa['choice_id'];

$thelist    =   implode(",",$temp);
}
if ($numRows > 0){
$sumToCq1   =   mysql_query("
SELECT sum(p.price) as sTotal, t.item_id as item_id
FROM temp_cart as t, temp_choices tc, choice_price p
WHERE t.ses_mem='".$ses_mem."'
AND t.item_id = '".$getItem."'
AND tc.item_id = '".$getItem."'
AND p.id = tc.choice_id
");
$sumToC1 = mysql_fetch_assoc($sumToCq1);
$sumToNR = count($sumToCq1);
$choiceOptionsTotal1    =   $sumToC1['sTotal'];
    $tsl    = ($choiceOptionsTotal1*$qtyT)+($qtyT*$prIDTC);
}else{
    $tsl    = $qtyT*$prIDTC;
}

//number_format($tsl, 3);
$altsl  = number_format($tsl, 3, '.', '');
echo $altsl;
?>
</span>
<?php } ?>

I assume you want to update individual divs as you are running it within a loop. 我假设您要在循环中运行它时更新各个div。

Try something like this 试试这个

<?php
$order_temp =   mysql_query("select * from temp_cart where ses_mem='".$ses_mem."' order by id");
while ($torder = mysql_fetch_array($order_temp)) {
    $prITTD     =   $torder['id'];
    $prITTC     =   $torder['item_id'];
    $script    .= "refreshTable(".$prITTC.");";
    ?>
    <div class="amount tableHolder_<?=$prITTC;?>"></div>
    <?
}
?>

<script>
  function refreshTable(id) {
      $('.tableHolder_'+id).load('itemtotal_cart_checkout.php?item_id='+id, function() {
         setTimeout(function () { refreshTable(id) }, 1000);
      });
  }
  <?=$script;?>
</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM