|
|
|
|
|
для: Денис
(26.11.2005 в 19:47)
| | 1) $count после mysql_fetch_array() лучше уже не использовать - вычисляйте число записей при помощи mysql_num_rows() до вызова этой функции и помещайте результат во временную переменную.
2) Переменные интерпретируются только в двойных кавычках, в одинарных выведется не значение $film, а $ и film. Подробности в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=130 | |
|
|
|
|
|
|
| Появилась небольшая проблема с системой оценки по результатам голосования. Идея его следующая: существует некоторое количество фильмов. Каждый отдельный пользователь, читая аннотацию фильма, может выставить оценку этому фильму. Записи не повторяются, т.е. один и тот же пользователь дважды проголосовать на один и тот же фильм не может. Далее, подсчитывается суммарное количество баллов по каждому фильму и в результате необходимо сравнить эти суммарные числа и расставить id-фильма в том порядке, в котором идут суммарные числа баллов в порядке возрастания. Т.е.
---------------------------
id_film | ball
-----------------
1 | 35
2 | 50
3 | 25
------------------
в результате должен получиться массив с записями: 2 1 3
Вот код, который я создал:
global $film_id, $number_ball;
$query = "SELECT distinct(id_film) FROM ".TABLE_USER_FILM_BALL;
$count = mysql_query($query);
$i=0;
while($data=mysql_fetch_array($count))
{
$film_id[$i] = $data['id_film'];
$i++;
}
echo mysql_num_rows($count);
for($i=0; $i<$all_rec; $i++)
{
$film = $film_id[$i];
$query = "SELECT ball FROM ".TABLE_USER_FILM_BALL" WHERE id_film='$film'";
$result = mysql_query($query);
if(!$result) mysql_error();
$ball = 0; $n=0;
while($data=mysql_fetch_array($result))
{
$ball =+ $number_ball['ball'];
$sumar_num_ball[$i] = $ball;
$n++;
}
}
$sort_ball = array();
$max = 0;
for($i = 0; $i < $count; $i++)
{
for($j = 0; $j < $count; $j++)
{
if($sumar_num_ball[$j] > $max)
{
$max = $sumar_num_ball[$j];
$sort_ball[$i] = $film_id[$j];
}
}
}
//print_r $sort_ball;
}
|
и вот ошибки, с которыми я столкнулся:
1) сразу же после первого цикла ни $count ни $film_id программа не видит содержания этих переменных
2) а потому ругается на эту запись: '$film'
Возможно, кто-то сталкивался с подобной программой либо же мне нужна "свежая" голова... | |
|
|
|
|