[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Считаем сумму
FDL45
Считает не правильно=(
Вернее посчитало только один раз при этом я параметров через форму не передавал
Вот код

$bd = $_POST["begin"];
$ed = $_POST["end"];
$rn = $_POST["Otdel"];
$sql ="SELECT `Otdel`, min(`Periods`) as `Periods`,
max(`Periodpo`) as `Periodpo`,
sum(`KolUchDeistv`) as `KolUchDeistv`,
sum(`PostGKU`) as`PostGKU`, sum(`Snyato`) as `Snyato`,
sum(`VnesIzmen`) as `VnesIzmen`,
sum(`KolDocGKU`) as `KolDocGKU`,
sum(`KolKP`) as `KolKP`,
sum(`KolObrGKOZ`) as `KolObrGKOZ`,
sum(`KolIspolnObrGKOZ`) as `KolIspolnObrGKOZ`,
sum(`Otkaz_ZGKU`) as `Otkaz_ZGKU`,
sum(`SudDel`) as `SudDel`,
sum(`Declaration`) as `Declaration`
FROM `report_oi` WHERE 1=1 ORDER BY `Otdel`"
;
$where =' ';
if(isset($_POST["begin"]) && !empty($_POST["begin"])){
$where.=" AND `Periods`>='".mysql_real_escape_string($_POST["begin"])."'";
}
if(isset($_POST["end"]) && !empty($_POST["end"])){
$where.=" AND `Periodpo`<='".mysql_real_escape_string($_POST["end"])."'";
}

if(isset($_POST["Otdel"]) && !empty($_POST["Otdel"])){
$where.=" AND `Otdel`='".mysql_real_escape_string($_POST["Otdel"])."'";
}

$result = mysql_query($sql.$where) or die(mysql_error());
while ($query_data = mysql_fetch_array($result))
{
echo "<tr><td>".$query_data['Otdel']."</td>
<td>"
.$query_data['PostGKU']."</td>
<td>"
.$query_data['Snyato']."</td>
<td>"
.$query_data['VnesIzmen']."</td>
<td>"
.$query_data['Otkaz_ZGKU']."</td>
<td>"
.$query_data['KolDocGKU']."</td>
<td>"
.$query_data['KolKP']."</td>
<td>"
.$query_data['KolObrGKOZ']."</td>
<td>"
.$query_data['KolIspolnObrGKOZ']."</td>
<td>"
.$query_data['SudDel']."</td>
<td>"
.$query_data['Declaration']."</td></tr>";
}
?>




Спустя 19 минут, 50 секунд (29.11.2010 - 09:19) linker написал(а):
Ну как ты написал, так оно и посчиталось - общая сумма по всем перечисленным полям.

Спустя 10 минут, 46 секунд (29.11.2010 - 09:29) FDL45 написал(а):
Хм...я вот что-то не уверен. Потому как все данные какие были в базе просуммировались и записались в одну строку. получилось что-то типа
Отд G1 | G2 | G3 |
---------------------------------------------------
1 23123 | 324 | 32423|...и т д

все в одной строке
Хотя по-идее должно быть
Отд G1 | G2 | G3 |
---------------------------------------------------
1 23123 | 324 | 32423|...и т д
2 23423 | 124| 23465|
3..............................................и т д

Спустя 6 минут, 32 секунды (29.11.2010 - 09:36) linker написал(а):
Это по твоей идее, но написал ты запрос именно так, как тебе и посчитали его. Сгруппируй по отделам.

Спустя 2 минуты, 7 секунд (29.11.2010 - 09:38) FDL45 написал(а):
Тьфу ты блин=)))
бревна не вижу)

Спустя 4 минуты, 4 секунды (29.11.2010 - 09:42) FDL45 написал(а):
Так...с этим я разобрался.
Только вот теперь когда из формы передаются параметры
Выводится все равно одна запись с общей суммой.

Спустя 5 минут, 49 секунд (29.11.2010 - 09:48) linker написал(а):
А ты посмотри на свой запрос, перед
$result = mysql_query($sql.$where) or die(mysql_error());
напиши
echo $sql.$where;
Условие должно идти в разделе WHERE перед GROUP BY, а GROUP BY перед ORDER BY.

Спустя 29 минут, 21 секунда (29.11.2010 - 10:17) FDL45 написал(а):
Спс...поправил)
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.