2014-05-15 34 views
0

我有一個數據庫表,標題爲產品在MYSQL數據庫中選擇重複的列PHP

我在題爲圖像表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.'"/>'; 

} 
+0

你試過了嗎?SELECT DISTINCT * FROM products WHERE page ='生日'ORDER BY id ASC'? –

+0

'(「SELECT DISTINCT * FROM產品WHERE頁=‘生日’ORDER BY ID ASC」)' 不工作,但感謝您的幫助 –

+0

哦,當然不,是我不好,你都選擇素一切從桌子上。如果你只想要唯一的images.jpg將其改爲'SELECT DISTINCT image FROM products WHERE page ='生日'ORDER BY id ASC'。你現在應該得到image1.jpg和image2.jpg。 –

回答

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.'"/>'; 

} 
+0

這並沒有解決問題,但謝謝你的幫助。 –

+0

我修改了我的答案@James Osguthorpe – TheWebsiteGuy

+0

非常感謝,非常感謝 –

1

您需要什麼是在您的查詢中使用GROUP BY。因此,將查詢更改爲

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

您還可以使用像不使用while語句這樣的技巧。如果您僅在寫入 $ fetch = mysql_fetch_assoc($ query)時纔會在查詢中獲得第一個結果。我希望這有幫助。