0

我在从保存文件名的 mysql 数据库中提取的页面上嵌入了一个图像。我想做的是使用javascript调用让我们说pump.php在数据库中引入绝对下一个图像 - 有点像幻灯片放映,然后动态地将其写入img src。我很接近但很难过。非常感谢任何帮助,我搜索并搜索!这是 div/嵌入图像:

<div id="image_holder"><img id=target src=./watch/<? echo $frame; ?> /></div>

然后我有这个javascript,在1000个时钟滴答之后调用函数kitty。Kitty 应该刷新包含 php 和 ID 号的 pump.php(假设它以 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加一,这样我们下次可以从2开始!

$result = mysql_query( "SELECT * FROM frame_database where id=$id " );
$data = mysql_fetch_array($result); 
$image = $data["image"]; 
$id++;

你们有什么感想?我是树上的faaaaaaaaaaaar 吗?

4

2 回答 2

0

我第一眼看到的第一个问题是您从 PHP 调用中填充图像 src。您要做的是开始对服务器上的某个文件进行 ajax 调用(用 PHP、Java 或服务器支持的其他语言编写)。由于这是一个异步调用,因此您必须为成功和失败提供一个回调函数(在 java 脚本中)。

成功函数可能会收到一个字符串或一个 json 对象,其中包含图片的 uri。然后你必须更改图像 src ......我想应该是它。

我建议使用像 jQuery 这样的框架来简化整个 ajax 的工作。

于 2013-02-04T21:20:52.303 回答
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 变量。

希望这可以帮助。

于 2013-02-04T21:48:01.723 回答