2013-08-24 62 views
-1

我正在運行while語句以在我的數據庫中顯示藝術家的圖像。目前,它多次顯示相同的圖像,而不是一次。我怎樣才能讓圖像顯示一次而不是多次?如何在while語句中僅顯示一次sql記錄

Here`s我的代碼:

<? 
while ($feed = mysql_fetch_object($query)) { ?> 
<? 
    if ($count == '4') { 
     $count = 0; ?> 

     <div class="blog_item"> 
     <div class="preview_wrapper"> 
     <div class="featured_image_full"> 

<? 
     $query1 = mysql_query("SELECT * FROM `Artists` WHERE `Genre1` = '$usr->Genre1' OR `Genre2` = '$usr->Genre1' OR `Genre3` = '$usr->Genre1' OR `Genre1` = '$usr->Genre2' OR `Genre2` = '$usr->Genre2' OR `Genre3` = '$usr->Genre2' OR `Genre1` = '$usr->Genre3' OR `Genre2` = '$usr->Genre3' OR `Genre3` = '$usr->Genre3' ORDER BY RAND() LIMIT 0,1"); 

     while ($art = mysql_fetch_object($query1)) { ?> 
      <img src="<? echo $art->image; ?>"> 
     <? } ?> 
+0

你確定這就是你的實際代碼,因爲基於應該是不可能的極限。除非上述內容在另一個循環中? – 2013-08-25 00:03:39

+0

你不應該使用'ORDER BY RAND()',它真的很慢。 –

+0

嗨,抱歉沒有意識到我沒有發佈上面的代碼。它在另一個循環內。基本上它是一個活動饋送,顯示用戶最近的活動,但是我希望它顯示他們可能感興趣的藝術家的每4個項目,只是兩次都不會是同一個! 我是否應該發佈我的上述代碼? –

回答

0

這意味着你有一個藝術家的多個圖像在你的數據庫。嘗試從刪除數據庫中的冗餘。即使這樣,如果你想執行你的while一次循環 使用break

while ($art = mysql_fetch_object ($query1)) 
{ 
?> 

<img src ="<?echo $art->image;?>"> 

<? break;} 
?> 
+0

嗨, 我只在數據庫中有藝術家/圖像一次。任何想法爲什麼? –

+0

我認爲你的或條款在quey給你這麼多行,因爲它可能會滿足條件。然而使用break itll可以幫助你。 – Tushar