1

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

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

IE。

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

我怎样才能利用java脚本来逐步完成这个。

最终目标是让图片在其下方出现“下一个”“上一个”按钮。点击下一个将显示下一个图像(无需刷新)

echo $rows[0]; 

会打印

images/a.png
4

3 回答 3

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>​
于 2012-12-19T19:04:07.837 回答
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>

祝你好运!

于 2012-12-19T18:35:28.213 回答
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>
    

现在您的 JSON 对象可以在myAppsData.slideshowJSON.

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

干杯!

于 2012-12-19T18:45:03.650 回答