Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Javascript之后运行PHP代码时出现问题_Php_Javascript_Mysql_Ajax - Fatal编程技术网

在Javascript之后运行PHP代码时出现问题

在Javascript之后运行PHP代码时出现问题,php,javascript,mysql,ajax,Php,Javascript,Mysql,Ajax,基本上,这就是我正在做的: 我有一个flash/ajax文件上传器,用户可以选择x数量的照片并上传,然后通过外部php脚本将它们插入MYSQL数据库 在将它们插入数据库后,我希望在页面上显示它们,并允许用户编辑标签、标题等 但是,我不知道如何“实时更新”页面以显示正确的数据 以此为例: 上传完成后,将运行showFields() function showFields() { var jsvar = '<?php echo getIDs(); ?>'; doc

基本上,这就是我正在做的: 我有一个flash/ajax文件上传器,用户可以选择x数量的照片并上传,然后通过外部php脚本将它们插入MYSQL数据库

在将它们插入数据库后,我希望在页面上显示它们,并允许用户编辑标签、标题等

但是,我不知道如何“实时更新”页面以显示正确的数据

以此为例: 上传完成后,将运行showFields()

function showFields() {

     var jsvar = '<?php echo getIDs(); ?>';

     document.getElementById('picndata').innerHTML += jsvar;    
}
(邋遢我知道)

,那么它将无法工作,因为PHP是先运行的,因此它找不到任何结果,因为图像尚未上载

有什么想法吗?

这行:

$str .= $row['size'] . "\r\n";
将导致JavaScript具有未终止的字符串文字

更改:

var jsvar = '<?php echo getIDs(); ?>';
var-jsvar='';
致:


var jsvar='使用ajax并为图像添加时间戳。
我个人有一个“刷新”函数,它通过setTimeout()定时调用get

在初始加载当前图像时,确定最新的图像时间戳。 在ajax中,查询具有时间戳>上一个“最新”时间戳的图像。如果得到任何结果,请更新页面,并重置新的“最新”变量。
如果上传功能也有一些返回,可以用来触发ajax,这将消除查看新图像的任何延迟

我还建议将时间戳存储在会话变量中,这样您就不会依赖用户输入进行查询


还可以处理其他用户可能上载到同一区域的并发性。

这不是问题……问题是在加载页面后,上载发生在另一个php脚本上,因此getIDs()不会替换最新的ID,它将在页面加载时替换最新的ID
var jsvar = '<?php echo getIDs(); ?>';
var jsvar = '<?php echo str_replace("\r\n", "\\\r\n", trim(getIDs()) ?>';