2013-07-18 27 views
1

我有一個sql循環顯示來自數據庫的圖像。然後我把圖像的所有路徑放在一個js數組中。我傳遞給一個onClick函數。哪些工作正常。但我的問題是我可以通過或將計數值在每次迭代後的相應圖像mysql循環來顯示圖像。需要幫助傳遞/設置每個圖像的計數 - javascript

即如果我點擊第一個圖像「0」得到傳遞給函數,所以我可以用它來獲得從數組中改變圖像路徑。

在此先感謝您的幫助。

  <script type="text/javascript"> 
      var pathArray=new Array(); 
      var count = -1; 
     </script> 
     <?php 
     while($row = mysqli_fetch_array($result)) 
      { 
      ?> 
       <script type="text/javascript"> 
        path = '<?php echo $row['path'];?>'; 
        pathArray.push(path); 
        count++;  
       </script> 

       <div id="displayimage"><a href="#"><img src="<?php echo $row['path'];?>" width="200px" height="156px" style="border:solid 2px white;margin-left:15px;" onclick="openImages(pathArray,count);"></a></div>  

       <?php 
        $i++; 
        if($i % 3 === 0) 
        { 
        echo "<br /><br /><br />";   
        } 
      } 

回答

1

所有您需要做的就是把服務器端的可變進調用openImages

onclick="openImages(<?php echo $i; ?>);" 

然後,使openImages函數取整數作爲參數(刪除別人,別人「再沒有必要):

function openImages(i) { 
    alert(path[i]); 
} 

或者,也許會更容易只需發送路徑作爲參數?然後你可以完全從循環中移除腳本塊。 (也就是說,假設你沒有其他用途pathArray

onclick="openImages('<?php echo $row['path']; ?>')" 
+0

由於工作完美,但我試過你的選擇,但對於已經得到了周圍的PHP標籤的單引號。 –