Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我使用自动刷新时,Php mysql只返回最后一行_Javascript_Php_Jquery_Ajax_Mysqli - Fatal编程技术网

Javascript 当我使用自动刷新时,Php mysql只返回最后一行

Javascript 当我使用自动刷新时,Php mysql只返回最后一行,javascript,php,jquery,ajax,mysqli,Javascript,Php,Jquery,Ajax,Mysqli,我有一个mysqli查询,当我使用下面代码的自动刷新时,它只返回所有行的最后一条记录的值。如果我不使用自动刷新,那么它工作正常。当我使用自动刷新时唯一面临的问题 $(document).ready(function(){ refreshTable(); }); function refreshTable(){ $('.tableHolder').load('itemtotal_cart_checkout.php', function(){ setTimeout(ref

我有一个mysqli查询,当我使用下面代码的自动刷新时,它只返回所有行的最后一条记录的值。如果我不使用自动刷新,那么它工作正常。当我使用自动刷新时唯一面临的问题

$(document).ready(function(){
  refreshTable();
});

function refreshTable(){
    $('.tableHolder').load('itemtotal_cart_checkout.php', function(){
       setTimeout(refreshTable, 1000);
    });
}
我怎样才能解决这个问题请帮忙

$ses_mem    =   $_SESSION['ses_user_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);
$torder = $tordera -> fetch_assoc();

PHP代码需要
item\u id
GET参数。因此,您应该从JavaScript传递它:

$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + itemId,
  function(){
     setTimeout(refreshTable, 1000);
  });
var m = location.search.match(/^.*[\?&]item_id\=(\d+)/);
var itemId = m && m.length >= 2 ? m[1] : 0;
<script>
/* skipped original code */
$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + <?php
  echo isset($_GET['item_id']) ? (int) $_GET['item_id'] : 0;
?>,
  function(){
     setTimeout(refreshTable, 1000);
  });
/* skipped original code */
</script>
以下是如何从JavaScript中的当前查询字符串中获取
item\u id

$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + itemId,
  function(){
     setTimeout(refreshTable, 1000);
  });
var m = location.search.match(/^.*[\?&]item_id\=(\d+)/);
var itemId = m && m.length >= 2 ? m[1] : 0;
<script>
/* skipped original code */
$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + <?php
  echo isset($_GET['item_id']) ? (int) $_GET['item_id'] : 0;
?>,
  function(){
     setTimeout(refreshTable, 1000);
  });
/* skipped original code */
</script>
但是,如果当前页面是PHP和HTML与上述JavaScript的混合体,则只需将PHP嵌入JavaScript即可:

$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + itemId,
  function(){
     setTimeout(refreshTable, 1000);
  });
var m = location.search.match(/^.*[\?&]item_id\=(\d+)/);
var itemId = m && m.length >= 2 ? m[1] : 0;
<script>
/* skipped original code */
$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + <?php
  echo isset($_GET['item_id']) ? (int) $_GET['item_id'] : 0;
?>,
  function(){
     setTimeout(refreshTable, 1000);
  });
/* skipped original code */
</script>
然后您可以通过以下方式从PHP调用它:

<script>
$(document).ready(function(){
  refreshTable(<?php echo isset($_GET['item_id']) ? (int) $_GET['item_id'] : 0; ?>);
});
</script>

$(文档).ready(函数(){
刷新表();
});

顺便说一句,您可能希望使用
setInterval
而不是递归调用
setTimeout

通过以下代码将
item\u id
变量传递给php:

$(document).ready(function(){
  refreshTable();
});

function refreshTable(){
    $('.tableHolder').load('itemtotal_cart_checkout.php<?php echo '?item_id=1'; ?>', function(){
       setTimeout(refreshTable, 1000);
    });
}
$(文档).ready(函数(){
刷新表();
});
函数刷新表(){
$('.tableHolder').load('itemtottal\u cart\u checkout.php',function(){
设置超时(刷新表,1000);
});
}

我想在Javascript中将item\u id设置为
?item\u id=
并在itemtottal\u cart\u checkout中获取它。php@FahadAlmehaini,然后需要将
$\u GET['item\u id']
传递给JavaScript代码。如果JavaScript代码嵌入到PHP脚本中(如果当前页面是PHP、HTML和JavaScript的混合体),那么只需
load('itemtottal\u cart\u checkout.PHP?item\u id='+…
您可以根据它来调整代码吗?对不起