2011-10-13 61 views
1

基本上,我正在編寫一個程序時遇到了一些問題。PHP按熱門程度排序

$like= "dale dale dale dale dale dale dale dale dale dale dale dale marris jvc marris  travis travis chris chris chris today is not a day for christmas"; 

以上是話

$query = "SELECT * FROM advertising"; 

$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_array($result)){ 
$bw = $row['Keyword']; 
echo $bw; 
echo ": "; 
echo substr_count($like,$bw); 
echo "<br>"; 

基本上我連接到MySQL數據庫,並搜索預先確定的短語,這些短語可以隨時更新,所以它的必要的,他們是在一個字符串一個SQL DB。

我想要做的是訂購這些短語並選擇最受歡迎的,但是,可能有5個最普遍的人羣。我需要做的是隨機選擇這些最受歡迎的項目之一。

有沒有最好的方法來做到這一點?我正在考慮將值加載到SQL數據庫並按最受歡迎的順序排序?

乾杯

特拉維斯

+0

纔有可能爲您張貼廣告表的模式?那裏有什麼專欄?名稱?某種受歡迎程度評分會增加? – fitzgeraldsteele

+0

你對「最受歡迎?」的定義是什麼?在不知道的情況下正確回答你的問題是不可能的。 –

回答

0

我認爲最好的方法是在你選擇的所有項目通過隨機在你的初始查詢。這樣,如果你的數據庫中有5個項目與最受歡迎的項目並列,那麼找到的第一個將是隨機的。

$query = "SELECT * FROM advertising ORDER BY RAND()"; 
0
select * from (
     select keyword, count(*) ct, rand() as r 
     from advertising 
     group by keyword 
     order by ct 
     limit 5) topfive 
order by r