я это PHP/MYSQL код, который возвращает записи из таблицы упорядочены по их рейтингам, с наивысшим рейтингом до самого низкого рейтинга:Mysql заказ по рейтингу - но захватить все
<table width="95%">
<tr>
<?php
if (isset($_GET['p'])) {
$current_page = $_GET['p'];
} else {
$current_page = 1;
}
$cur_category = $_GET['category'];
$jokes_per_page = 40;
$offset = ($current_page - 1) * $jokes_per_page;
$result = mysql_query("
select jokedata.id as joke_id, jokedata.datesubmitted as datesubmitted,
jokedata.joketitle as joke_title, sum(ratings.rating)/count(ratings.rating) as average
from jokedata inner join ratings
on ratings.content_type = 'joke' and ratings.relative_id = jokedata.id
WHERE jokecategory = '$cur_category'
group by jokedata.id
order by average desc
limit $offset, $jokes_per_page
");
$cell = 1;
while ($row = mysql_fetch_array($result)) {
if ($cell == 5) {
echo "</tr><tr class=\"rowpadding\"><td></td></tr><tr>";
$cell = 1;
}
$joke_id = $row['joke_id'];
$joke_title = $row['joke_title'];
$joke_average = round($row['average'], 2);
echo "<td><strong><a class=\"joke_a\" href=\"viewjoke.php?id=$joke_id\">$joke_title</a></strong> -average rating $joke_average.</td>";
$cell++;
}
?>
</tr>
<tr class="rowpadding"><td></td></tr>
</table>
Он отлично работает, но есть один проблема - если элемент не имеет хотя бы одного рейтинга, он не будет выбран по запросу вообще!
Как я могу это исправить? Благодарю.
Извините, но это еще не их выбора. – 2009-03-28 11:39:49