|
|
|
| Короче есть БД и в БД есть записи, нужно отсортировать записи по рейтингу. Есть в таблице столбцы r+, r-, Количество посяшений и Количество комментариев.
Нужно составить алгоритм и по алгоритму вывести данные.
Я попробовал так.
$array = array();
while($row = mysql_fetch_array($query)) {
$array[] = array("id" => $row[id], "r+" => $row['r+'], "r-" => $row['r-'], "view" => $row[view], "win" => $row[win], "img" => $row[img], "name" => $row[name]);
}
foreach($array as $key => $row){
$a[$key] = $row['r+'] * 5;
$b[$key] = $row['r-'] * 2.5;
$sum[] = ($a[$key] + $b[$key]) / $b[$key];
$img[$key] = $row['img'];
$name[$key] = $row['name'];
sort($sum);
echo "<h5>$name[$key]</h5>";
echo "<img src=\"$img[$key]\" width=\"100\"/>";
echo " ".abs($sum[0]);
}
|
Получается отсортировать числа, но чтоб вывели и фотографию и имя, и.т. на первое место и.т.д никак. И алгоритм не правильный | |
|
|
|
|
|
|
|
для: wolf95
(27.07.2013 в 21:20)
| | Тут кагбе сортировку надо делать средствами СУРБД, а не "лепить горбатого к стенке"
Непонятно, каким образом определяется рейтинг? | |
|
|
|
|
|
|
|
для: Valick
(27.07.2013 в 22:29)
| | Я понимаю как ты говоришь ))
$query = mysql_query("SELECT * FROM `raiting` ORDER BY `raiting` DESC");
мне не так надо_)) Мне нужно вывести рейтинг+ и рейтинг-, потом к ним суммировать количество посящений и количество просмотров. Потом вывести тот запись у которого рейтинг будет выше)
я там на рейтинг+ сделал умножение 5 баллов а на рейтинг- умножение 2,5 баллов. Потом попытался вывести того у которого рейтинг выше, не получилось | |
|
|
|
|
|
|
|
для: wolf95
(28.07.2013 в 00:38)
| | Нет не понимаешь))
ORDER BY можно по нескольким полям и выражениям (хотя лучше только по полям, которые в отличии от выражения можно и нужно индексировать) | |
|
|
|
|
|
|
|
для: Valick
(28.07.2013 в 01:05)
| | Эх где же ты раньше то был)) Спасибо очень помог уже 3 день над этим мучался ))) | |
|
|
|