我试图允许用户下载带有坐标信息的xml文件。我使用以下命令创建下载按钮:
<a download href='XML_Data.xml'><input type='button' value='XML Data' onclick='loadXML()'></a>
下面是我的loadXML()函数:
function loadXML()
{
<?php
//clear the file
file_put_contents("XML_Data.xml", "");
$handle = fopen("XML_Data.xml", "w+");
fwrite($handle, "<ANNOTATIONS>\r\n");
//markers
$sql = "SELECT coords, color, annot_type FROM cbmarker.annot_test WHERE
project_id='$pid'
AND userid=" . $_SESSION['Id'] .
" AND image=\"" . $pic .
"\" AND annot_type='marker'
ORDER BY id ASC";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$markerX = $row['coords'];
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$markerY = $row['coords'];
fwrite($handle, " <annotation annot_type='marker' color='" . $row['color'] . "' X='" . $markerX . "' Y='" . $markerY . "' />\r\n");
}
fwrite($handle, "</ANNOTATIONS>\r\n");
fclose($handle);
?>
当我向查询应该抓取的数据库添加其他条目时,文本文件不包含它们。但是,当我刷新页面时,一切正常。有没有人知道为什么文本文件在我刷新之后才会更新,即使数据库在我刷新之前确实更新了?
由于
答案 0 :(得分:0)
以下是发生的事情:
如果您希望页面在不完全刷新的情况下自动显示新项目,您可以使用计时器定期向服务器发出Ajax查询以查找数据更新。