[英]display all images which belongs to user
我有四个表:分类,州,城市和img。 我想显示属于唯一ID(用户)的所有图像。
例如:来自明尼苏达州明尼阿波利斯市的用户发布了有关出售一辆有5张图片的汽车的广告。
我得到了与此查询一起使用的所有东西,除了结果是为每个图像重复用户信息。
<?php
$query = mysql_query("SELECT * FROM classifieds
LEFT JOIN img ON img.classified_id = classifieds.id
LEFT JOIN state ON classifieds.state_id = state.id
LEFT JOIN city ON classifieds.city_id = city.id WHERE id = '".$id."' AND
authorized = '1'
");
while($row = mysql_fetch_array($query, MYSQL_ASSOC))
{
?>
<div align="center"><a href=' <?php echo $row['image_path']; ?>' rel='lightbox'
title='<?php echo $row['title']; ?>' style='text-decoration:none;'> <img
src='<?php echo $row['image_path']; ?>' width='150' border='0' />
</a>
</div>
<div class="show_location" style="width:225px; hight:10px; padding-top:20px;">
<span class='style55'><?php echo $lang['D_STATE']; ?> <span style="color:#06F">
<?php echo $row['statename']; ?></span> </div>
<div style="width:225px; hight:10px; padding-top:20px;"> <?php echo
$lang['D_CITY']; ?><span style="color:#06F"> <?php echo $row['city']; ?></span>
</span> </div>
<?php
}
?>
我在此站点上查找了一些答案,并尝试进行分组,但它仅返回第一张图像。
谢谢
您的“ img”表具有针对同一“ classified_id”的多个记录。.因此,您的查询将针对相同的分类ID生成多个记录。 您有两个选择
代替在主查询中加入img表,而是编写单独的查询以获取while循环内的图像。
使用“ group_concat”功能检索图像..但是您必须将简明的字符串拆分为图像名称。
试试这个(第一个选项)
<?php
$query = mysql_query("SELECT * FROM classifieds
LEFT JOIN state ON classifieds.state_id = state.id
LEFT JOIN city ON classifieds.city_id = city.id WHERE classifieds.id = '" . $id . "' AND authorized = '1'");
$row = mysql_fetch_array($query, MYSQL_ASSOC);
$get_images_query = "SELECT * FROM img WHERE classified_id = " . $row['id'];
$exec_get_images_query = mysql_query($get_images_query);
while($res_images = mysql_fetch_array($exec_get_images_query))
{
?>
<div align="center"><a href=' <?php echo $res_images['image_path']; ?>' rel='lightbox' title='<?php echo $row['title']; ?>' style='text-decoration:none;'> <img src='<?php echo $res_images['image_path']; ?>' width='150' border='0' /></a>
</div>
<?php
}
?>
<div class="show_location" style="width:225px; hight:10px; padding-top:20px;"><span class='style55'><?php echo $lang['D_STATE']; ?> <span style="color:#06F"> <?php echo $row['statename']; ?></span></div>
<div style="width:225px; hight:10px; padding-top:20px;"><?php echo $lang['D_CITY']; ?><span style="color:#06F"> <?php echo $row['city']; ?></span></div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.