如何使用PHP和Javascript滚动图片数组

时间:2012-12-19 18:14:54

标签: php javascript html

我有一个sql查询,它会提取一个包含我的图像文件路径的数组。

它存储在变量$rows中,我可以通过索引来访问各个路径...

IE。

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

如何利用java脚本逐步完成此操作。

最终目标是让图片显示在其下方的“下一步”“上一页”按钮。 点击下一个将显示下一个图像(没有刷新)

echo $rows[0]; 

会打印

images/a.png

3 个答案:

答案 0 :(得分: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>​

答案 1 :(得分: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>
祝你好运!

答案 2 :(得分:0)

将您的PHP数组(服务器端)转换为Javascript(客户端)

有很多方法可以做到这一点,但我建议JSON。它有许多优点,但最明显的是你可以将数组和javascript对象存储为字符串。如果您不熟悉它,那么这是开始将其包含在您的工作流程中的绝佳时机,因为您必须处理Javascript。

<强> PHP

  1. 将数组转换为JSON:

    $jsonResults = json_encode($arrayOfResults);

  2. 从PHP获取JSON到Javascript:

    <script>
        var myAppsData = {};
        myAppsData.slideshowJSON = JSON.parse($jsonResults);
    </script>
    
  3. 现在,myAppsData.slideshowJSON的Javascript可以访问您的JSON对象。

    其余工作就像使用for循环遍历对象一样简单(就像在PHP中一样),抓取内容并用它做你想做的事。

    干杯!