Javascript 当我使用自动刷新时,Php mysql只返回最后一行
我有一个mysqli查询,当我使用下面代码的自动刷新时,它只返回所有行的最后一条记录的值。如果我不使用自动刷新,那么它工作正常。当我使用自动刷新时唯一面临的问题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
$(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='+…
您可以根据它来调整代码吗?对不起