0

私はここで何か間違ったことをしているに違いありません。本来のようには機能しませんが、1つの目的、つまり自分./images./thumbnailsフォルダーの写真をPHPWebフォームに表示するという単純なタスクです。完全には完成していませんが、自分のページに表示されている写真を表示できる機能を取得したいと思います。

画像名は両方のフォルダで同じで、サイズが異なります。2つのフォルダにある写真の名前の例を次に示します。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];
}
}

以下は、私が持っている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

あなたのヒアドキュメントは間違っています。1番目-サムネイルを取得するには、ファイル名を繰り返す必要があります。2番目-変数$iの画像を取得しています。これはイテレーターのように見えますが、forループはありません。

ヒアドキュメントを動作する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つの連想配列でこの作業をうまく行うことができます。Lemmeはあなたが疑問を持っているかどうか知っています。

ディン

于 2012-11-13T00:39:01.600 に答える