저는 여러 개의 이미지를 반환하는 간단한 데이터베이스 쿼리를 만들고 있습니다. 이러한 이미지는 한 번에 하나의 이미지를 표시하고 이미지를 실행하는 onclick 함수를 사용하는 javascript 갤러리와 함께 PHP 변수에 저장됩니다. 그 작동하지, 제발 도와주세요!이미지 위치에 php 변수 사용하기, 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>
를 표시하지만 자바 스크립트 못해 (내가 배열을 통해 실행하는 것이 더 쉬울 수 있어야 생각했기 때문에) 변수는 배열에 넣어 up date는 $ 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 +"]?>";
}
감사합니다. Matt. 나는 그것을 시도하고 그것은 작동하지 않습니다. 나는 왜 당신의 JS가 $ 이미지를 얻을 수 있을지 이해하지 못한다. – tadhg
그 이유는 액세스하려는 키가 php에서 사용할 수없는 동안 JS에 설정된 키를 사용하여 PHP 배열 데이터를 출력하려고하기 때문입니다. $ images [ "+ imageCount +"]에 액세스하려고 시도했지만 imageCount가 PHP에서 사용할 수없는 것은 js 변수입니다. 그래서 JS 전체 PHP 배열을 출력 한 다음 js 변수를 사용하여 js 배열에 액세스해야합니다. Js와 PHP가 서로 다른 단계에서 실행된다는 것을 이해하십시오. 변수를 다른 변수에서 사용할 수 없습니다. Js 브라우저에서 실행, 서버에 PHP를 – Matt
다시 감사 매트. 그것은 PHP 변수 내 이미지 위치를 저장했기 때문에 작동하지 않을 것입니다. 그래서 js var 이미지는 PHP 변수 $ img1, $ img2, $ img3의 배열입니까? – tadhg