我正在使用下面的脚本更新跨度,但如果条件为假,则它可以工作,如果条件为真,则它不会更新。
我观察到它执行相同的错误条件,当我第二次单击时,它会更新数量,但比数据库中的实际记录数量少 1 个。
就像总记录为 2 一样,当我单击“提交”时,脚本将运行,如果数据库中的条件为 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>
最佳答案
经过尝试很多事情后,我想出了以下解决方案,问题已经解决。
请您对此发表意见。谢谢
按钮
<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>
关于javascript - 使用 javascript/ajax 更新 Span 的 PHP 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50689230/