使用php变量的图像位置,使用onclick通过图像库运行


Using php variables for image location, use onclick to run through image gallery

我正在做一个返回几个图像的简单数据库查询。这些图像存储在一个php变量中,javascript图库一次显示一个图像,并使用onclick函数运行这些图像。它不工作,请帮忙!

我的数据库查询返回图像,每个图像放入一个变量中。然后将变量放入数组中(因为我认为遍历数组应该更容易)

    $img1       = $row['img1'];
$img2       = $row['img2'];
$img3       = $row['img3'];
$images = array($img1,$img2,$img3);

在页面本身的图库部分显示了第一张图像

<div id="showImage">
<img src= " <?php echo "$images[0]" ?>" id="gallery">
<div id="rightHolder"><img onClick="Gallery(1)" src="images/arrow-right.png"></div>
<div id="leftHolder"><img onClick="Gallery(-1)" src="images/arrow-left.png"></div>
</div>

但是javascript不会更新$images onclick的数组键,所以我的第二个图像没有加载。

var imageCount = 1;
var totalImage = 3;
function Gallery(x) {
var image = document.getElementById('gallery');
imageCount  = imageCount + x;
if(imageCount > totalImage){imageCount = 1;}
if(imageCount < 1){imageCount = totalImage;}
image.src = "<?php echo $images["+ imageCount +"]?>";
}

你不能这样做:image.src = "<?php echo $images["+ imageCount +"]?>";

JS在浏览器中运行。JS没有PHP的数据。

你可以在JS文件中尝试这样做:

var images = "<?php echo implode(",", $images); ?>";
images = images.split(",");
在这段Js代码中,你可以这样调用一个图像:
image.src = images[imageCount];

它的作用是获取PHP数组,使其成为逗号分隔的字符串。这个字符串被逗号分割在Js中是一个数组