$res = mysql_query("SELECT id,title,names FROM otdel",$db);
$row = mysql_fetch_array($res);
do
{
$ort = mysql_query("SELECT reiting FROM works WHERE otdel = 'row[id]'",$db);
$fin = mysql_fetch_array($ort);
$summa_r = array_sum($fin);
echo "<br>Общий рейтинг равен - ".$summa;
}
while($row = mysql_fetch_array($res));
Спустя 11 минут, 53 секунды (10.05.2011 - 21:39) sharki написал(а):
Не будем пока править код =) а так почитай про функцию MYSQL SUM() и про GROUP BY
$res = mysql_query("SELECT id,title,names FROM otdel",$db);
$row = mysql_fetch_array($res);
while($row = mysql_fetch_array($res)) {
$ort = mysql_query("SELECT reiting FROM works WHERE otdel = '".$row[id]."'",$db);
$fin = mysql_fetch_array($ort);
$summa_r = array_sum($fin);
echo "<br>Общий рейтинг равен - ".$summa;
}
Спустя 2 минуты, 15 секунд (10.05.2011 - 21:42) sharki написал(а):
Только вот непонятно где что, идет пересечении переменных $row и $res
Спустя 2 минуты, 8 секунд (10.05.2011 - 21:44) Gradus написал(а):
$fin = mysql_fetch_array($ort);
$summa_r = array_sum($fin);
нелохо не плохо, учитывая что другой mysql_fetch всё таки использовался в цикле :)
видимо копипаст)
Спустя 10 минут, 4 секунды (10.05.2011 - 21:54) Kumirska написал(а):
спасибо! вразумил=) почитал про ORDER BY,понял что запрос к базе можно не делать было а отсортировать по номерам отдела сразу! большое спасибо за содействие sharki!!!
Спустя 39 минут, 50 секунд (10.05.2011 - 22:34) Kumirska написал(а):
не,я не копипастил если обо мне речь) я почитал и профильтровал информацию! читал про сложение массивов сегодня впервые,
понимаю что как сказано в "курсе реалибитации после Попова" использовать accos лучше вместо array в данном случае,также знаю что не поодерживаете цикл do while,тоже надо было заменить =) ну и догадываюсь что использовать обращение к базе в цикле тоже очень по-дилетантски,но всё же я пока и не считаю себя продвинутым! может это пока,но плагиатом не увлекаюсь!!!
понимаю что как сказано в "курсе реалибитации после Попова" использовать accos лучше вместо array в данном случае,также знаю что не поодерживаете цикл do while,тоже надо было заменить =) ну и догадываюсь что использовать обращение к базе в цикле тоже очень по-дилетантски,но всё же я пока и не считаю себя продвинутым! может это пока,но плагиатом не увлекаюсь!!!
Спустя 9 часов, 58 минут, 34 секунды (11.05.2011 - 08:32) linker написал(а):
Всего делов, тебе осталось немного поправить данный запрос, чтобы получить названия отделов
SELECT SUM(`reiting`) FROM `works` WHERE GROUP BY `otdel`
Спустя 1 час, 55 минут, 12 секунд (11.05.2011 - 10:27) Kumirska написал(а):
Цитата (linker @ 11.05.2011 - 05:32) |
SELECT SUM |
Цитата (linker @ 11.05.2011 - 05:32) |
Всего делов, тебе осталось немного поправить данный запрос, чтобы получить названия отделов SELECT SUM(`reiting`) FROM `works` WHERE GROUP BY `otdel` |
Спасибо, linker , за очень полезную идею!!! Почитал про SQL SUM(), очень удобная вещь
Спустя 1 час, 7 минут, 18 секунд (11.05.2011 - 11:35) Kumirska написал(а):
$ort = mysql_query("SELECT SUM(reiting) as sum_r FROM works WHERE id GROUP BY title",$db);
$fin = mysql_fetch_array($ort);
while ($fin = mysql_fetch_array($ort))
{
echo $fin['sum_r'];
}
Отсортировал по тайтлам! код (без лишней информации) получился примерно таким! всё работает,всем спасибо Большое! ;)
Спустя 2 часа, 55 минут, 28 секунд (11.05.2011 - 14:30) Gradus написал(а):
господя :) Зачем mysql_fetch_array два раза ? он же вам первую запись не будет показывать и лучше использовать assoc.И что это за WHERE id пустое ?
$ort = mysql_query("SELECT SUM(reiting) as sum_r FROM works GROUP BY title",$db);
while ($fin = mysql_fetch_assoc($ort))
{
echo $fin['sum_r'];
}
Спустя 2 дня, 8 часов, 44 минуты, 5 секунд (13.05.2011 - 23:14) Kumirska написал(а):
не гневайся Gradus ! я все исправлю как ты сказал=) спасибо !
_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны