javascript - 当我使用自动刷新时,Php mysql 仅返回最后一行

标签 javascript php jquery ajax mysqli

我有一个 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_id GET 参数。所以你应该从 JavaScript 传递它:

$('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + itemId,
  function(){
     setTimeout(refreshTable, 1000);
  });

以下是如何从 JavaScript 中的当前查询字符串获取 item_id:

var m = location.search.match(/^.*[\?&]item_id\=(\d+)/);
var itemId = m && m.length >= 2 ? m[1] : 0;

但是,如果当前页面是 PHP 和 HTML 以及上述 JavaScript 的混合体,那么只需将 PHP 嵌入到 JavaScript 中即可:

<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 在单独的文件中执行,那么您需要一个带有项目 ID 参数的 JavaScript 函数。例如,在某些 script.js 中,您可能具有类似于以下内容的函数:

function refreshTable(itemId) {
    $('.tableHolder').load('itemtotal_cart_checkout.php?item_id=' + itemId, function() {
       setTimeout(function () { refreshTable(itemId) }, 1000);
    });
}

然后你可以这样从 PHP 调用它:

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

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

关于javascript - 当我使用自动刷新时,Php mysql 仅返回最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39940366/

相关文章:

javascript - 正则表达式匹配文本文件中的文件名

页面加载时的 Javascript 无需附加到正文

php - 我需要在 php 的两个修订之间放置 svn_deff

javascript - Bootstrap 模式内部的表单不更新 mysql 中的值

c# - 在 bootstrap 模态主体中动态添加的 asp.net 按钮/链接按钮 webcontrol 不回发

javascript - 如何用键和值分配多维数组?

jquery - 试图改变形式的行动

javascript - 哪些版本的 Office 2016 支持 Office.context.reqirements.isSetSupported()?

javascript - 运行 AJAX 脚本

javascript - 每页随机多张图片,不重复