2012-12-19 36 views
1

我有一個sql查詢,它將包含文件路徑的數組拉到我的圖像中。如何使用PHP和Javascript滾動瀏覽圖片數組

它是存儲在所述可變$rows,我可以通過索引throught訪問各個路徑...

IE。

$rows[0]...$rows[n] 

我該如何利用java腳本來實現這一點。

最終目標是讓圖片顯示在其下的「下一步」「上一個」按鈕。 擊中旁邊會顯示下一個圖像(無刷新)

echo $rows[0]; 

將打印

images/a.png 
+0

創建一個JavaScript該圖片數組並通過你的php數組循環。您可以在您通過php數組循環時填充javascript數組,然後您將在js上創建數組。 –

回答

1

也許使用PHP的JSON功能,您可以將PHP數組轉換成JS數組...然後使用JavaScript功能來控制顯示

<script type="text/javascript"> 
    var images = <?php echo json_encode($rows) ?>, counter = 0; 

    function prevImage() { 
     counter = (counter<=0)?images.length-1:counter-1; 
     var i = document.getElementById('myImage'); 
     i.src = images[counter]; 
    } 
    function nextImage() { 
     counter = (counter==images.length-1)?0:counter+1; 
     var i = document.getElementById('myImage'); 
     i.src = images[counter]; 
    } 
</script> 

<img src="img/0.jpg" id="myImage" /> 
<a href="#" onClick="prevImage(); return false;">Previous</a> - <a href="#" onClick="nextImage(); return false;">Next</a>​ 
0

這裏是一個小例子,你的PHP陣列遷移到JavaScript數組:

<?php 
    $row = array("image/image1","image/image2","image/image3"); 
?> 
<html> 
    <head> 
    <title>Sample Array</title> 
    <script> 
    var jsArray = new Array(); 
    <?php 
    for ($i=0; $i<3; $i++) 
    { 
     echo "jsArray[$i] = '$row[$i]';"; 
    } 
    ?> 
    for(i = 0; i < jsArray.length;i++) 
    { 
     alert(jsArray[i]); 
    } 
    </script> 
    </head> 
    <body> 
     <span>Sample Array</span> 
    </body> 
</html> 

祝你好運!

0

讓你的PHP陣列(服務器端)爲Javascript(客戶方)

有相當多的方式去這樣做,但我建議JSON。它有很多優點,但最明顯的優點是可以將數組和javascript對象存儲爲字符串。如果你不熟悉它,考慮到你必須處理Javascript,這將是一個很好的開始將它包含在工作流程中的時候。

PHP

  1. 打開陣列以JSON:

    $jsonResults = json_encode($arrayOfResults);

  2. 獲取JSON從PHP爲Javascript:

    <script> 
        var myAppsData = {}; 
        myAppsData.slideshowJSON = JSON.parse($jsonResults); 
    </script> 
    

現在您的JSON對象可以通過Javascript訪問myAppsData.slideshowJSON

其餘的工作就像使用for循環遍歷對象一樣簡單(就像在PHP中一樣),抓取內容並按照您的需要進行操作。

乾杯!

相關問題