我正在准备一个大学项目:在线图书销售商店环境。 我有一个PHP页面,它更新表中的几个值,而另一个PHP页面运行SELECT查询以显示表的值。问题是在第一页更新值后,第二页不会立即显示更改。在更改在显示中生效之前有少量延迟。可能是什么原因?怎么可以解决这个问题?
P.S。我正在使用这些PHP页面为我的Android开发实现JSON解析(使用volley)
第一个:
<?php
include_once("connect_seller.php");
$table= $_GET['pin'];
$orderid= $_GET['oid'];
$sellerid= $_GET['id'];
$orderstatus= $_GET['ostat'];
$query1 = "SELECT COUNT(status) FROM " . $table . "WHERE order_id='$orderid' AND status=-1";
$result = mysqli_query($conn,$query1);
$res = mysqli_fetch_assoc($result);
if($res["COUNT(status)"] > 0)
{
$query = "UPDATE " . $table . "SET order_status='$orderstatus', status='served' , served_by='$sellerid' WHERE order_id='$orderid'";
if(mysqli_query($conn,$query))
{
echo '{"maal":[{';
echo '"message":"success"}';
echo ']}';
}
else
{
echo '{"maal":[{';
echo '"message":"error"}';
echo ']}';
}
}
else
{
echo '{"maal":[{';
echo '"message":"taken"}';
echo ']}';
}
?>
第二个:
<?php
include_once("connect_seller.php");
if( isset($_GET['pin'])) {
$table= $_GET['pin'];
$query = "SELECT COUNT(status) FROM " . $table . "WHERE status=-1";
$result = mysqli_query($conn,$query);
$res = mysqli_fetch_assoc($result);
if($res["COUNT(status)"] > 0)
{
$query1 = "SELECT order_id, timestamp, zip, status, order_status FROM " . $table . "WHERE status=-1";
$result1 = mysqli_query($conn,$query1);
$myArray = array();
while($row = $result1->fetch_array(MYSQLI_ASSOC)) {
$myArray[] = $row;
}
echo '{"maal":';
echo json_encode($myArray, JSON_UNESCAPED_SLASHES);
echo "}";
}
else
{
echo 'null';
}
}
?>
答案 0 :(得分:0)
您的延迟响应可能是您保留值的缓存,请尝试:
<?php
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>