2011-10-13 28 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