在MYSQL数据库PHP中选择重复列

时间:2014-05-15 17:13:44

标签: php mysql sql

我有一个名为产品的数据库表。

表格中有2列标题为名称图片

我的数据库中有4个条目

item 1 | image1.jpg
item 2 | image1.jpg
item 3 | image1.jpg
item 4 | image2.jpg

我需要在页面上显示结果,但我只需要显示image.1jpg一次,我的while()循环显然是显示所有4个图像。

我已经在这几个小时了,请帮忙!

我的代码:

$query = mysql_query("SELECT * FROM products WHERE page='Birthdays' ORDER BY id ASC");

while($fetch = mysql_fetch_assoc($query)){  

$image = $fetch['image'];
$name = $fetch['name'];

echo ''.$name.'';
echo '<img src="'.$thumbnail_image.'"/>';   

}

3 个答案:

答案 0 :(得分:1)

您需要在查询中使用GROUP BY。因此,将查询更改为

SELECT * FROM products WHERE page='Birthdays' GROUP BY image ORDER BY id ASC

答案 1 :(得分:0)

尝试以下代码;

$query = mysql_query("SELECT * FROM products WHERE page='Birthdays' GROUP BY image ORDER BY id ASC");

while($fetch = mysql_fetch_assoc($query)){  

$image = $fetch['image'];
$name = $fetch['name'];

echo ''.$name.'';
echo '<img src="'.$thumbnail_image.'"/>';   

}

答案 2 :(得分:0)

您也可以使用不使用while语句的技巧。如果你只是写 $ fetch = mysql_fetch_assoc($ query),而不会在查询中获得第一个结果。我希望这会有所帮助。