0

したがってimages、データベースに次の4つの列を持つテーブルがあります。

pgname | id | imageurl | username

ユーザーは画像をテーブルに保存でき、ユーザーのページ名をpgname、自動インクリメントされたID、画像のURLをimageurl、およびユーザーのユーザー名として追加できます。

私はprettyphotojqueryギャラリーを使用して画像を返します。

次のコードを使用して、ユーザーのpgnameに関連付けられている画像のURLをdivのハイパーリンクに表示しようとしています。

$imagesquery = mysql_query("SELECT * FROM `images` WHERE `pgname` = '$pgname'") or die(mysqli_error());
        while ($returnImages = mysql_fetch_assoc($imagesquery))  {
        $img = array($returnImages['imageurl']);
        }

        foreach ($img as $imageData) {
        echo'<div id="imageslide"><a href="'.$imageData.'" rel="prettyPhoto[pp_gal]"><img style="width: 100px; height: 100px;" src="'.$imageData.'" alt=""/></a></div>';
        }

私が得るのは、テーブルにあるすべてのimageurlの空のボックスです。画像を表示する方法はありますか?私がやろうとしているのは、1つのかわいいフォトギャラリー内に複数の画像を作成することだからです。

どんな助けでも大歓迎です!

4

2 に答える 2

0

マークが言ったように、データの配列を構築するか、エコーをフェッチループに移動する必要があります。次を試してください

$imagesquery = mysql_query("SELECT * FROM `images` WHERE `pgname` = '$pgname'") or die(mysqli_error());
while ($returnImages = mysql_fetch_assoc($imagesquery))  {
       echo'<div id="imageslide"><a href="'.$returnImages['imageurl'].'" rel="prettyPhoto[pp_gal]"><img style="width: 100px; height: 100px;" src="'.$returnImages['imageurl'].'" alt=""/>'.$returnImages['pgname'].'</a></div>';
}

mysql_* 関数は php.net で非推奨になっているため使用しないでください。mysqli_* または PDO を使用できます。

于 2012-10-22T20:56:07.097 に答える
0

私はこのようなことをもっと試すかもしれません:

$imagesQuery = mysql_query("SELECT * FROM `images` WHERE `pgname` = '$pgname'") or die(mysqli_error());

while ($row = mysql_fetch_assoc($imagesQuery))  {
    echo '<div id="imageslide"><a href="'.$row['imageurl'].'" rel="prettyPhoto[pp_gal]"><img style="width: 100px; height: 100px;" src="'.$row['imageurl'].'" alt=""/></a></div>';
}

また、名前の付け方を考えることも大事だと思います。$imageData実際には URL であるのに、なぜその名前を使用するのでしょうか? $img本当に配列である何かに名前を付けるのはなぜですか? また、キャメルケースを使用する場合は、あらゆる場所でキャメルケースを使用します。つまり、 andの代わりにimagesQueryand imageUrl(or ) を使用します。できるだけ明確に名前を付けると、他のすべてがより簡単かつ迅速になります。imageURLimagesqueryimageurl

批判のように聞こえたら申し訳ありません。厳しくしようとしているわけではありません。私は友好的なヒントとして私が言うことを意味します.

于 2012-10-22T20:57:21.160 に答える