繁体   English   中英

每次在客户端增加变量时如何在服务器端(php)执行代码(java脚本)

[英]how to execute the code on server side (php) each time the variable is incremented on the client side (java script)

我有一个实验,该实验显示数据库中的随机图像,并且图像在屏幕上滚动3秒,暂停3秒,在屏幕外滚动3秒,我正在维护索引为“ i”的数组将此图像存储在客户端,如果“ i”值增加,则另一个图像滚动到屏幕上,因为我正在显示数据库中的图像,所以如果“ i”增加,则应从屏幕上显示另一个图像数据库(意味着每次i递增时,应在服务器端执行代码)。 谁能告诉我该怎么做...

这是示例代码,

//服务器端

$myQuery = "SELECT * from image WHERE img_id NOT IN (SELECT img_id from randomtrees where sid=".$sid.") ORDER BY rand() LIMIT 1";
$conn = mysql_connect("localhost","xxxxxx","xxxxxxxxxxxx");
mysql_select_db("database_name",$conn);
$result = mysql_query($myQuery);

$imagepath = 'path to the images folder which is in local host';
while ($row = mysql_fetch_array($result)) 
{ 
  $img = $imagepath.$row['img_name']; 
  $id = $row['imageid'];
  $img_id = $row['img_id'];
}
mysql_close($conn);

//客户端

slideimages[i++] = '<img src="<?php echo $img ?>" id="<?php echo $id?>" name="r_img"/>' ;

如果您关心图像加载时间的速度,请首先使用php一次检索所有图像并将它们存储在JS数组中。

Var X[]=<?php json_encode($imgs) ;?>;

如果您关心页面加载时间,则可以获取所有图像名称,并在必要时使用JS加载它们,或者在每次需要图像时发出Ajax请求(这会给服务器带来沉重的负担,但是如果您需要将它们全部存储在JS中的数据是有问题的,或者增加文件大小然后进行处理)。

要么:

1)在一个SQL查询中检索所有需要的图像,并将它们写入JavaScript数组,您的脚本可使用该数组在客户端旋转图像

2)每次需要通过更改window.location来更改图像时,使用JavaScript刷新页面。

3)使用AJAX从JavaScript向服务器发出请求以获取另一个图像,然后使用响应更改页面上显示的图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM