PHP Порядок по популярности - PullRequest
1 голос
/ 13 октября 2011

В основном у меня есть небольшая проблема с программой, которую я пишу.

$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.

Я пытаюсь упорядочить эти фразы и выбрать наиболее популярные, однако их может быть 5. Что мне нужно сделать, это выбрать случайным образом один из этих самых популярных предметов.

Есть ли лучший способ сделать это? Я думал о загрузке значений в базу данных SQL и упорядочении по самым популярным?

Приветствия

Travis

Ответы [ 2 ]

0 голосов
/ 13 октября 2011
 select * from (
      select keyword, count(*) ct, rand() as r
        from advertising
       group by keyword
       order by ct
       limit 5) topfive
 order by r
0 голосов
/ 13 октября 2011

Я думаю, что ваша лучшая ставка в том, чтобы вы выбрали все свои предметы случайным образом в вашем первоначальном запросе.Таким образом, если в вашей базе данных есть 5 элементов, привязанных к самым популярным, первый найденный будет случайным.

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