所以我的数据库中有一个images
表,其中包含以下4列:
pgname | id | imageurl | username
用户可以将图像保存到表中,将用户页面名称添加为pgname,自动增加的id,图像的url作为imageurl,以及人员用户名。
我使用prettyphoto jquery画廊返回图像。
我试图将与用户pgname相关联的图像的网址显示在我的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>';
}
我得到的是表格中每个图像的空盒子。 有没有办法让图像出现?因为我想要做的是在一个漂亮的照片库里面制作多个图像。
欢迎任何帮助!
答案 0 :(得分:0)
正如Marc所说,你必须建立数据数组或将你的回声移动到fetch循环中,尝试以下
$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_ * OR PDO。
答案 1 :(得分: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
赋予真正的数组?如果您打算使用camelCase,请在任何地方使用camelCase,即imagesQuery
和imageUrl
(或imageURL
),而不是imagesquery
和imageurl
。如果你尽可能清楚地命名,那么其他一切都会更容易,更快。
对不起,如果这听起来像批评。我不是要苛刻;我的意思是我所说的友好提示。