Регистрация
Вход через соцсети
Восстановление пароля

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

Новый топик
Страницы: 1  |  2
22.10.2013, 12:43
Ответить | Цитировать
Максим

Зарегистрирован:
2013-08-08
Сообщений: 10

В общем так:
Про то что написано до сегодняшнего дня можно забыть.
Начнем.
Есть таблица со столбцами:
|_Название_|_столбец 1_|_столбец 2_|_столбец 3_|_столбец 4_|

Есть cписок состоящий из 14 пунктов:
id_____ Название
1 _____ ООО 1
2 _____ ООО 2
............
7_____ ООО 7
8_____ ЗАО 1
9_____ ЗАО 2
............
14_____ ЗАО 7

Заполняем таблицу:
"Название" - выбираем из списка
остальные столбцы заполняем цифрами. Получается что-то типа такого:

|_Название_|_____#1______|______#2_________|_______#3_________|_____#4______|
|__ООО 1___|______50_____|______32_________|_______18_________|_____12______|
|__OOO 5___|______50_____|______10_________|_______12_________|_____44______|
|__ЗАO 4___|______21_____|______61_________|_______71_________|_____43______|

Надо просуммировать все ООО:

|_Название_|_____#1______|______#2_________|_______#3_________|_____#4______|
|__ООО 1___|______50_____|______32_________|_______18_________|_____12______|
|__OOO 5___|______50_____|______10_________|_______12_________|_____44______|
|_CУММАООО_|______100____|______42_________|_______30_________|_____56______|
|__ЗАO 4___|______21_____|______61_________|_______71_________|_____43______|
22.10.2013, 13:28
Ответить | Цитировать
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 367

Что если в каждой строке делать проверку.
Если список - это поле $f_Spisok
А остальные поля в таблице - $f_1.. 2.. 3 и т.д.

То типо такого:
Если, например выбран 3 элемент списка, и это вывод третий строки таблицы:
Код:
".($f_Spisok_ID==3 ? $f_1 + $f_2 : $f_3")."


Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
22.10.2013, 14:18
Ответить | Цитировать
Максим

Зарегистрирован:
2013-08-08
Сообщений: 10

Если я Вас правильно понял, то это приведет к сумме после каждой строчки:
|_Название_|_____#1______|______#2_________|_______#3_________|_____#4______|
|__ООО 1___|______50_____|______32_________|_______18_________|_____12______|
|_СУММАООО_|______50_____|______32_________|_______18_________|_____12______|
|__OOO 5___|______50_____|______10_________|_______12_________|_____44______|
|_CУММАООО_|______100____|______42_________|_______30_________|_____56______|
|__ЗАO 4___|______21_____|______61_________|_______71_________|_____43______|
22.10.2013, 14:51
Ответить | Цитировать
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 367

Для каждой строчки увеличиваем сложение переменных, ну и делаем проверку по условию.

Если нужно строку вывести только один раз, то также делаем условие:
Например:

".($f_Spisok==3 ? "<tr><td>$f_Spisok</td>...нужное количество ячеек</tr>" : "")." ,

А после в нужных ячейках прописываем условие, чтобы суммировались предыдущие переменные.

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
22.10.2013, 15:33
Ответить | Цитировать
Максим

Зарегистрирован:
2013-08-08
Сообщений: 10

Все, спасибо. Вроде понял. Буду пробовать что-то типа этого:
если id=1, то выводим значения
если id=2, то выводим значения
.............
если id=7, то выводим значения
вставляем строчку с суммой
если id=8, то выводим значения
.............

Вернее проще...
если id<=7 то выводим значения
если $totRows<>0 то выводим строчку с суммой
и если id>7 то выводим значения

P.S. В общем, затея оказалась неудачной...строчка с суммой появляется после каждой строчки.
Буду дальше копать
24.10.2013, 07:55
Ответить | Цитировать
ipm
Ильин Павел

Зарегистрирован:
2012-10-12
Сообщений: 367

Код:
<table>
<tbody>
<tr><td></td><td></td><td></td><tr> // с первой и второй строчкой ничего не делаем
<tr><td></td><td></td><td></td><tr>
".($f_Spisok_ID==3 ? "<tr><td>$f_Summa</td><td>здесь нужно сложить предыдущие значения полей первого столбца в первой и второй строки</td><td></td><tr>" : "<tr><td></td><td></td><td></td><tr>")."
".($f_Spisok_ID==4 ? "<tr><td></td><td></td><td></td><tr>" : "<tr><td></td><td></td><td></td><tr>")."
... и т.д.
</tbody>
</table>


Может как-то так?

Знание может быть лишь у того, у кого есть вопросы. Ханс Георг Гадамер
25.10.2013, 10:25
Ответить | Цитировать
Максим

Зарегистрирован:
2013-08-08
Сообщений: 10

К сожалению, нет...То что вы предлагаете подойдет только для таблицы в примере.
Если строк которые нужно просуммировать будет не 2 а 6 или 1, то код уже не прокатит...
Павел, спасибо за помощь, но, увы, ничего не выходит.
Решил сделать вывод в таблицу весь список с нулями и после id=7 вставлю строчку с суммой.
Пользователь будет не добавлять цифры, а изменять нули на нужные значения...
пока так...
спасибо еще раз.
198 196 2013-10-25 10:25:14 13357
Страницы: 1  |  2
Описание проекта