Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
ramaxa
0 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 62
1

Сумма строк столбца

26.06.2013, 17:26. Просмотров 1223. Ответов 13
Метки нет (Все метки)

Cсуммировать получены строки столбца php как воплотить это в жизнь столбци эти :
PHP
1
2
<td align=center>".($pererasxod)."л.</td>
            <td align=center>".($ekonomia)."л.</td>

Кусок кода что бы иметь приставления
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
for ($i=0; $i<$num_rows; $i++)
{ $row = mysql_fetch_array($result);
$row['kmproideno'] = str_replace(',', '.', $row['kmproideno']); /*Замена точки на запятую для арифметических ращётов*/
$row['litrovpotracheno'] = str_replace(',', '.', $row['litrovpotracheno']);
$row['ostatoktoplivaprivuezde'] = str_replace(',', '.', $row['ostatoktoplivaprivuezde']);
$row['ispolzovanopytevka'] = str_replace(',', '.', $row['ispolzovanopytevka']);
 
 
$proz =$row['procentzimaleto']+0.08 ;
$red=$proz*$row['litrovpotracheno'];
$ispolGPS=$red+$row['litrovpotracheno']; /*Выводим Использовано по GPS, л*/
$pererasxod=$row['ispolzovanopytevka']-$ispolGPS;
if($pererasxod < 0){
 $ekonomia=$pererasxod*-1 ;  
}
else
{
 
$ekonomia=0;
}
    
    
 
 
 
 
// обработка ряда результата запроса
echo "<TR>
 
<td align=center>$row[id]</td>
<td align=center>$row[date]</td>
<td align=center>$row[car]</td>
<td align=center>$row[nomerpytevogolista]</td>
<td align=center>$row[nomertabelnogo]</td>
<td align=center>$row[driver]</td>
<td align=center>$row[probegpytevogolista]</td>
<td align=center>$row[ostatoktoplivaprivuezde]</td>
<td align=center>$row[zapravka]</td>
<td align=center>$row[ispolzovanopytevka]</td>
<td align=center>$row[kmproideno]</td>
<td align=center>$row[litrovpotracheno]</td>
<td align=center>$row[procentzimaleto]</td>
    <td align=center>".($row['kmproideno']+0.08*$row['kmproideno'])."</td>
    <td align=center>".($ispolGPS)."</td>
    <td align=center>".($row['zapravka']-$row['ispolzovanopytevka']+$row['ostatoktoplivaprivuezde'])."</td> 
            <td align=center>".($pererasxod)."л.</td>
            <td align=center>".($ekonomia)."л.</td>
    
    
 
 </TR>"; }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.06.2013, 17:26
Ответы с готовыми решениями:

Сумма строк в таблице и вывод
Есть таблица с названием tikets В таблице столбцы &quot;id&quot; &quot;status&quot; (у status может быть параметр 1...

SQL Выборка последних строк пока сумма столбца будет меньше определенного количества
Приветствую! Пример таблицы 'table': |table1----|----table2|----table3---|...

Определить сумму каждого нечетного столбца и произведение первой и последней строк матрицы (сумма не считается)
Задание: Объявите двумерный целочисленный массив, в котором 10 строк по 7 элементов. Определите...

В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца
В каждой из матриц: A (5 строк, 4 столбца) и В (4 строки, 3 столбца) поменять местами два столбца:...

Как сделать так, чтобы в конце записи каждого столбца, выводилось сумма столбца?
добрый день. таблица_1 (№, имя_клиента, приход, расход); надо написать запрос, чтобы в конце...

13
KOPOJI
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16768 / 6655 / 869
Регистрация: 12.06.2012
Сообщений: 19,894
Завершенные тесты: 1
27.06.2013, 18:38 2
и в чем именно затруднения? Сложить два значения или в чем?
0
ramaxa
0 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 62
01.07.2013, 08:40  [ТС] 3
трудности в том что сформировав новые столбки
PHP
1
2
<td align=center>".($pererasxod)."л.</td>
            <td align=center>".($ekonomia)."л.</td>
С помощю дополнительных вычислений
PHP
1
2
3
4
5
6
7
8
9
10
11
12
$proz =$row['procentzimaleto']+0.08 ;
$red=$proz*$row['litrovpotracheno'];
$ispolGPS=$red+$row['litrovpotracheno']; /*Выводим Использовано по GPS, л*/
$pererasxod=$row['ispolzovanopytevka']-$ispolGPS;
if($pererasxod < 0){
 $ekonomia=$pererasxod*-1 ;  
}
else
{
 
$ekonomia=0;
}
Как зделать ищё одни ячейки отдельно что бы полученые столбци

PHP
1
2
[PHP]<td align=center>".($pererasxod)."л.</td>
            <td align=center>".($ekonomia)."л.</td>
[/PHP]
суммировали свои строки и выводили по одному ответу . Вообщем и всё просто даже понять не магу как это реализовать потомучто за рание нам даже не известно скока может быть строк в столбцах .
0
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
01.07.2013, 11:05 4
PHP
1
2
3
4
5
6
7
8
9
10
$sum1 = $sum2 = 0;
//в цикле
$sum1 += $pererasxod;
$sum2 += $ekonomia;
//конец цикла
echo '<tr>';
echo '<td colspan="хз"></td>';
echo '<td>'.$sum1.'</td>';
echo '<td>'.$sum2.'</td>';
echo '</tr>'
0
01.07.2013, 11:05
ramaxa
0 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 62
01.07.2013, 12:16  [ТС] 5
Что то не то оно выводит значение только последней строки и всё ((

Как бы php обеснить что если строк больше одной то строки сумировать в данном столбце

ну типа
PHP
1
2
3
4
for ($i=0; $i<$num_rows; $i++){
 
сумма ( $ekonomia );
}
Добавлено через 2 минуты
Я уже даже пробывал так
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
    
    $sum="SELECT sum(procentzimaleto),(litrovpotracheno),(ispolzovanopytevka) FROM`$table`WHERE `date` = '$date'" or die("ERROR: ".mysql_error());
    $rsum = mysql_query($sum);
    $sumrow = mysql_fetch_array($rsum);
    
    
    $sumproz =$rsum['procentzimaleto']+0.08 ;
$sumred=$proz*$rsum['litrovpotracheno'];
$sumispolGPS=$sumred+$rsum['litrovpotracheno']; /*Выводим Использовано по GPS, л*/
$sumpererasxod=$rsum['ispolzovanopytevka']-$sumispolGPS;
 
 
$symypereras=array_sum ($pererasxod) ;
типа пусть сразу суму подшитует через sql ну а потом по формулам как по накатанной но ни фига
0
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
01.07.2013, 12:28 6
Цитата Сообщение от ramaxa Посмотреть сообщение
Что то не то оно выводит значение только последней строки и всё ((
Реализацию можно посмотреть?
0
ramaxa
0 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 62
01.07.2013, 12:37  [ТС] 7
Показать весь код ?
0
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
01.07.2013, 12:57 8
Цитата Сообщение от ramaxa Посмотреть сообщение
Показать весь код ?
Нет только цикл, и желательно, запрос из БД

Добавлено через 15 минут
Цитата Сообщение от ramaxa Посмотреть сообщение
PHP
1
2
for ($i=0; $i<$num_rows; $i++)
{ $row = mysql_fetch_array($result);
думаю здесь ошибка
0
ramaxa
0 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 62
01.07.2013, 13:03  [ТС] 9
В чем ошибка как исправить
0
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
01.07.2013, 13:12 10
Цитата Сообщение от ramaxa Посмотреть сообщение
В чем ошибка как исправить
Я не прав.
PHP
1
$sum1 = $sum2 = 0;
это до цикла
Цитата Сообщение от ramaxa Посмотреть сообщение
PHP
1
for ($i=0; $i<$num_rows; $i++)
Цитата Сообщение от DennisRU777 Посмотреть сообщение
PHP
1
2
$sum1 += $pererasxod;
$sum2 += $ekonomia;
перед строками
Цитата Сообщение от ramaxa Посмотреть сообщение
PHP
1
2
3
// обработка ряда результата запроса
echo "<TR>
<td align=center>$row[id]</td>
Цитата Сообщение от DennisRU777 Посмотреть сообщение
PHP
1
2
3
4
5
echo '<tr>';
echo '<td colspan="хз"></td>';
echo '<td>'.$sum1.'</td>';
echo '<td>'.$sum2.'</td>';
echo '</tr>'
После окончания цикла
0
ramaxa
0 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 62
01.07.2013, 14:13  [ТС] 11
Странно чи я не понял куда пихать таблица режеться вставте правильно как нада вот весь код

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<?php
 
 
 
  $date = isset($_POST['date']) ? $_POST['date'] : '';
  
 
if (isset($_POST['podate'])) 
 
{ 
    if ($_POST['date']== '') {
    echo ' <h1 style="text-align: center;">
    <span style="color: #1274C9;"><strong>
    <span style="text-decoration: underline;">Не выбран диапазон выборки!
    </span></strong></span></h1><br>';exit; 
}
 
 
 
 
/*if ($car==""  or $driver=="" ) 
{ echo "Вы не ввели параметры поиска. Пожалуйста, попробуйте снова."; exit; } // остановка выполнения сценария
*/
 
include  ('bd_conect.php');      //можно использовать include // 
/* Создаем соединение */
$link = mysql_connect($host, $login, $pwd) or die ("Не могу создать соединение");
 
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($db_name) or die (mysql_error());
 
/* Составляем запрос для извлечения данных из полей,*/
$query="SELECT * FROM`$table`WHERE `date` = '$date'" or die("ERROR: ".mysql_error());
 
/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
$result = mysql_query($query); // выполнение запроса
$num_rows = mysql_num_rows($result); 
 
 
 
// подсчет количества результатов
echo "<h2 align='center'><span style='color: #1D5FA0;'>Найдено данных по вашему запросу:".$num_rows."</span>
</h2>";
 
echo "<table align=center cellpadding=3 bgcolor=azure border=5 cellpadding=0 cellspacing=0>";
echo "<tr style=border: solid 5px #23BEFB>
 
 <th bgcolor=#87E8FD align=center><b>№ записи</b></th>
 <th bgcolor=#87E8FD align=center><b>Дата</b></th>
 <th bgcolor=#87E8FD align=center><b>Номер автомобиля</b></th>
 <th bgcolor=#87E8FD align=center><b>Номер путевого листа</b></th>
 <th bgcolor=#87E8FD align=center><b>Номер табельного</b></th>
 <th bgcolor=#87E8FD align=center><b>Ф.И.О. водителя</b></th>
 <th bgcolor=#87E8FD align=center><b>Пробег путевого листа</b></th>
 <th bgcolor=#87E8FD align=center><b>Остаток топлива при выезде</b></th>
 <th bgcolor=#87E8FD align=center><b>Заправка</b></th>
 <th bgcolor=#87E8FD align=center><b>Использовано по путёвке</b></th>
 <th bgcolor=#87E8FD align=center><b>км.пройденно</b></th>
 <th bgcolor=#87E8FD align=center><b>Литров потраченно</b></th>
 <th bgcolor=#87E8FD align=center><b>% зима лето</b></th>
     <th bgcolor=#87E8FD align=center><b>Пробег по GPS, км</b></th>
    <th bgcolor=#87E8FD align=center><b>Использовано по GPS, л</b></th>
    <th bgcolor=#87E8FD align=center><b>Остаток топлива после возвращения, л</b></th>
        <th bgcolor=#FC502D align=center><b>Перерасход</b></th>
            <th bgcolor=#06FA43 align=center><b>Экономия</b></th>
    
    
 </tr>
";
 
for ($i=0; $i<$num_rows; $i++)
{ $row = mysql_fetch_array($result);
$row['kmproideno'] = str_replace(',', '.', $row['kmproideno']); /*Замена точки на запятую для арифметических ращётов*/
$row['litrovpotracheno'] = str_replace(',', '.', $row['litrovpotracheno']);
$row['ostatoktoplivaprivuezde'] = str_replace(',', '.', $row['ostatoktoplivaprivuezde']);
$row['ispolzovanopytevka'] = str_replace(',', '.', $row['ispolzovanopytevka']);
 
 
$sum1 += $pererasxod;
$sum2 += $ekonomia;
 
$proz =$row['procentzimaleto']+0.08 ;
$red=$proz*$row['litrovpotracheno'];
$ispolGPS=$red+$row['litrovpotracheno']; /*Выводим Использовано по GPS, л*/
$pererasxod=$row['ispolzovanopytevka']-$ispolGPS;
 
 
 
if($pererasxod < 0){
 $ekonomia=$pererasxod*-1 ;  
}
else
{
 
$ekonomia=0;
}
 
 
 
 
 
 
 
echo '<tr>';
echo '<td colspan="хз"></td>';
echo '<td>'.$sum1.'</td>';
echo '<td>'.$sum2.'</td>';
echo '</tr>';
 
// обработка ряда результата запроса
echo "<TR>
 
<td align=center>$row[id]</td>
<td align=center>$row[date]</td>
<td align=center>$row[car]</td>
<td align=center>$row[nomerpytevogolista]</td>
<td align=center>$row[nomertabelnogo]</td>
<td align=center>$row[driver]</td>
<td align=center>$row[probegpytevogolista]</td>
<td align=center>$row[ostatoktoplivaprivuezde]</td>
<td align=center>$row[zapravka]</td>
<td align=center>$row[ispolzovanopytevka]</td>
<td align=center>$row[kmproideno]</td>
<td align=center>$row[litrovpotracheno]</td>
<td align=center>$row[procentzimaleto]</td>
    <td align=center>".($row['kmproideno']+0.08*$row['kmproideno'])."</td>
    <td align=center>".($ispolGPS)."</td>
    <td align=center>".($row['zapravka']-$row['ispolzovanopytevka']+$row['ostatoktoplivaprivuezde'])."</td> 
            <td align=center>".($pererasxod)."л.</td>
            <td align=center>".($ekonomia)."л.</td>
    
    
 
 </TR>";  }
    
 
 
 
echo"<table align=center cellpadding=3 bgcolor=azure border=12 cellpadding=0 cellspacing=0>"; 
 
 echo "<br><h2 align='center'><span style='color: #1D5FA0;'> Вывод перерасход/економия </span></h2></br>";
 echo "</ hr>";
echo "<tr style=border: solid 5px #23BEFB>  
    
          
    
    
            
            <th bgcolor=#FC502D align=center><b>перерасход</b></th>
            <th bgcolor=#06FA43 align=center><b>Экономия</b></th>
</tr>";
    
echo "<TR>  
            <td align=center>".($sumpererasxod)."л.</td> 
            <td align=center>".($ekonomia)."л.</td> 
            
 </TR>"; }
 
    
?>
0
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
01.07.2013, 14:32 12
Замени
Цитата Сообщение от ramaxa Посмотреть сообщение
PHP
1
for ($i=0; $i<$num_rows; $i++)
на
PHP
1
2
3
//желательно инициализировать переменные
$sum1 = $sum2 = 0;
for ($i=0; $i<$num_rows; $i++)
Вот это
Цитата Сообщение от ramaxa Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
$sum1 += $pererasxod;
$sum2 += $ekonomia;
$proz =$row['procentzimaleto']+0.08 ;
$red=$proz*$row['litrovpotracheno'];
$ispolGPS=$red+$row['litrovpotracheno']; /*Выводим Использовано по GPS, л*/
$pererasxod=$row['ispolzovanopytevka']-$ispolGPS;
if($pererasxod < 0){
*$ekonomia=$pererasxod*-1 ; *
}
else
{
$ekonomia=0;
}
заменить на
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$proz =$row['procentzimaleto']+0.08 ;
$red=$proz*$row['litrovpotracheno'];
$ispolGPS=$red+$row['litrovpotracheno']; /*Выводим Использовано по GPS, л*/
$pererasxod=$row['ispolzovanopytevka']-$ispolGPS;
 
 
 
if($pererasxod < 0){
 $ekonomia=$pererasxod*-1 ;  
}
else
{
 
$ekonomia=0;
}
 
$sum1 += $pererasxod;
$sum2 += $ekonomia;
1
ramaxa
0 / 0 / 1
Регистрация: 03.06.2013
Сообщений: 62
01.07.2013, 14:38  [ТС] 13
Уря работает чесно не сильн опонимаю почему заработало . Можете подробней расписать что вы зделали что подщёт стал верным и не пришлось даже менять или дополнительную выборку делать из бд
0
DennisRU777
11 / 11 / 1
Регистрация: 04.03.2013
Сообщений: 62
01.07.2013, 14:45 14
Цитата Сообщение от ramaxa Посмотреть сообщение
Уря работает чесно не сильн опонимаю почему заработало . Можете подробней расписать что вы зделали что подщёт стал верным и не пришлось даже менять или дополнительную выборку делать из бд
Даже и не знаю что сказать, тут все просто, даже для меня...
Попробуй прочитать как решается задача подсчета суммы элементов массива
0
01.07.2013, 14:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2013, 14:45

В dataGridView занесены данные, сумма столбца подсчитывается верно, но после фильтрации данных сумма столбцов остаётся п
В dataGridView занесены данные, сумма столбца подсчитывается верно, но после фильтрации данных...

Для матрицы из 6 строк и 5 столбцов отпечатать номера тех строк, сумма элементов которых кратна заданной величине, и число таких строк.
Для матрицы из 6 строк и 5 столбцов отпечатать номера тех строк, сумма элементов которых кратна...

В Матрице А (5 строк 4 столбца) определить номер столбца с минимальным значением
Правило форумаЗадание печатайте врукопашную, иначе накажу.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru