我在页面上嵌入了一个图像,该图像是从保存文件名的mysql数据库中提取的。我想做的是使用javascript来调用让我们说pump.php来引入数据库中的绝对下一个图像 - 有点像幻灯片放映,然后动态地将它写入img src。我很亲密但很难过。任何帮助都是非常感激,我搜索和搜索!这是div /嵌入图像:
<div id="image_holder"><img id=target src=./watch/<? echo $frame; ?> /></div>
然后我有这个javascript,在1000个时钟周期后调用函数kitty。 Kitty应该刷新包含php的pump.php以及ID号(让我们假设它以1开头,第一条记录然后动态地写入新图像名称上方的HTML:
setInterval("kitty()",1000);
function kitty(){
$.get('pump.php?id=<? echo $id; ?>',
{ lastupdate: 1 },
processUpdate, 'html');
}, 1000 ) };
var target_image = document.getElementById("target");
target_image.src = <? echo $image ?>;
}
这是pump.php(减去数据库连接信息)它应该拉出ID =脚本当前ID的图像,并将ID递增1,这样我们下次可以从2开始! / p>
$result = mysql_query( "SELECT * FROM frame_database where id=$id " );
$data = mysql_fetch_array($result);
$image = $data["image"];
$id++;
你们觉得怎么样?我是树上的faaaaaaaaaaa?
答案 0 :(得分:0)
我第一眼看到的第一个问题是你从PHP调用填充图像src。你想要做的是启动对服务器上某个文件的ajax调用(用PHP,Java或服务器支持的其他语言编写)。由于这是一个异步调用,因此必须使用回调函数(在java脚本中)来成功和失败。
成功函数可能会收到一个字符串或一个json对象,它保存图片的uri。然后你必须改变图像src ...我想应该是它。
我建议使用像jQuery这样的框架来简化整个ajax。
答案 1 :(得分:0)
首先关闭pump.php需要将数据返回到脚本,以便脚本可以获取图像名称。
$result = mysql_query( "SELECT * FROM frame_database where id=$id " );
$data = mysql_fetch_array($result);
$image = $data["image"];
$id++;
echo json_encode(array('image'=>$image, 'id'=>id));
然后在kitty()中你可以这样做:
$.get('pump.php?id=<? echo $id; ?>',
{ lastupdate: 1 },
function(data){
var res = JSON.parse(data);
var target_image = document.getElementById("target");
target_image.src = res.image;
}, 'html');
请注意,您可能希望将<? echo $id; ?>
部分更改为kitty()中的get调用可以更新的javascript变量。
希望这有帮助。