PHP按人气排序

时间:2011-10-13 01:14:16

标签: php mysql max

基本上我对我正在编写的程序有点问题。

$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数据库并按大多数流行的顺序排序?

干杯

特拉维斯

2 个答案:

答案 0 :(得分:0)

我认为您最好的选择是在初始查询中随机选择所有项目。这样,如果您的数据库中有5个项目最受欢迎,则找到的第1个项目将是随机的。

$query = "SELECT * FROM advertising ORDER BY RAND()";

答案 1 :(得分:0)

 select * from (
      select keyword, count(*) ct, rand() as r
        from advertising
       group by keyword
       order by ct
       limit 5) topfive
 order by r