0

我一定在这里做错了什么。它不像它应该的那样工作,但它是一项简单的任务,仅用于一个目的,将我./images./thumbnails文件夹中的照片显示到我的 PHP Web 表单。它还没有完全完成,但我只想获得能够在我的页面上看到我显示的照片的功能。

两个文件夹中的图像名称相同,大小不同。以下是两个文件夹中的一些示例照片名称。IMG786_3, IMG3413, IMG31.

这是对我的数据库的查询,它检索存储在我的数据库中的所有照片的所有标题、描述和文件名。我将它们放入一个数组中,以便我可以根据索引访问它们。

$imgQuery = "SELECT FileName, Title, Description FROM PICTURE WHERE OwnerID='$id' LIMIT 0,7";   
if($imgResult = mysqli_query($link, $imgQuery))
{
while($imgRow = mysqli_fetch_row($imgResult))
{
    $filename[] = $imgRow[0];
    $title[] = $imgRow[1];
    $description[] = $imgRow[2];
}
}

下面是应该显示我拥有的两个文件夹中的这些照片字符串的代码。当我单击缩略图时,假设从./images文件夹中获取完整大小的图像,并且文件名、描述和标题的整个索引将发生变化。

print <<<photo
<body>
<span> <?php echo $error; ?> </span>
<form action='MyAlbum.php' method='post'>
    <table>
        <tr><td colspan='7' ><h2 align='center'>$name's Album</h2></td>
        </tr>
        <tr><td colspan='7' >$title[$i]</td>
        </tr>
        <tr><td colspan='5' ><img src="./images/$filename[$i]" /></td><td colspan='2'>$description[$i] </td>
        </tr>
        <tr>
            <td><img src="./thumbnails/$filename[0]" /></td> <td><img src="./thumbnails/$filename[1]" /></td> <td><img src="./thumbnails/$filename[2]" /></td> 
            <td><img src="./thumbnails/$filename[3]" /></td><td><img src="./thumbnails/$filename[4]" /></td> <td><img src="./thumbnails/$filename[5]" /></td> 
            <td><img src="./thumbnails/$filename[6]" /></td> 
        </tr>
    </table>
</form>
</body>
</html>

photo;
4

1 回答 1

0

你的heredoc是错误的。1st - 您应该遍历文件名以获取缩略图。第二 - 你得到带有变量 $i 的图像,它看起来像一个迭代器,但不存在 for 循环。

我已将heredoc 修改为有效的html。您仍然需要 javascript/jquery(我更喜欢)来实现您的图像替换工作。默认情况下,页面加载时会显示第一张图片。

<html>
<body>
<span> <?php //echo $error; ?> </span>
<form action='MyAlbum.php' method='post'>
    <table border="1">
        <tr><td colspan='7' ><h2 align='center'><?php echo $name ?>'s Album</h2></td>
        </tr>
        <tr><td colspan='7' >
            <?php echo $title[0]; ?></td>
        </tr>
        <tr>
            <td colspan='5' ><img src="./images/<?php echo $filename[0] ?>" /></td>
            <td colspan='2' ><?php echo $description[0]; ?></td>
        </tr>
        <tr>
         <?php foreach($filename as $f): ?>   
            <td><img src="./thumbnails/<?php echo $f ?>" /></td>
         <?php endforeach; ?>
        </tr>
    </table>
</form>
</body>
</html>

还有一件事。使用 3 个不同的数组效率不高。1个关联数组可以很好地完成这项工作。如果您有疑问,请让我知道。

丁斯

于 2012-11-13T00:39:01.600 回答