Перейти к содержимому


Небольшое вычисление


Сообщений в теме: 5

#1 OOO Santana / Leonov

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 18 Декабрь 2012 - 17:02

Уважаемые сотрудники!
Помогите в правильности составления одного собственного вычисления (признаюсь, на основе вычисления "Суммы" в ориг.таблице "Счета"):

Есть:
таблица "Расход/Приход" -> строка "Порядковый номер", cтрока "Дата", строка "Итого расход", строка "Итого приход"
подтаблица "Позиции расхода/прихода" -> строка связи с "Порядковый номер", строка "На кого", строка "Описание", строка "Расход", строка "Приход"

Необходимо: суммирование строк позиций "Расход" и "Приход" (отдельно друг от друга) и отображение в строках "Итого...", подобно "сумме" в "счетах", только гораздо проще, а именно сумму (одного) столбца подтаблицы отразить в строке таблицы.

Мой код получился (можете ругаться сильно, т.к. только обучаюсь):

$sqlQuery = "SELECT sum(`f1370`)//это номер строки которую надо суммировать\\ as summa FROM ".DATA_TABLE."110//это номер подтаблицы в которой данная строка\\ WHERE f1340//это номер строки связи с основной таблицей\\=$ID";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$line['Итого расход//название строки в которую должна попасть сумма\\'] = $row['summa'];


В чем я мог допустить ошибку?
Заранее спасибо!
"Нам дается столько, сколько мы можем выдержать." (с) Gladiator (фильм), 2000г.

Администратор сайта - www.keramecom.com
VK - vk.com/leonov_mishka

#2 Гость_Roman_*

  • Гости

Отправлено 19 Декабрь 2012 - 08:30

А в чём заключается ошибка? По коду всё верно. Только у Вас обновляется одно поле. Насколько я понял, обновить надо два поля.
$sqlQuery = "SELECT sum(`f1370`) as summa1, sum(`f1371`) as summa2 FROM ".DATA_TABLE."110 WHERE f1340=$ID and (status=0 or status=1)";
$res = mysql_query($sqlQuery);
$row = mysql_fetch_array($res);
$line['Итого расход'] = $row['summa1'];
$line['Итого приход'] = $row['summa2'];
Дополнение к запросу: "and (status=0 or status=1)" - данная конструкция исключит попадание в результат удалённых записей.

#3 OOO Santana / Leonov

    Новичок

  • Пользователи
  • Pip
  • 2 сообщений
  • Пол:Мужчина
  • Город:Москва

Отправлено 19 Декабрь 2012 - 16:44

Очень странно, но почему-то видел sql ошибку при сохранении таблицы, но видимо что-то другое мешает. Покопаюсь.
Спасибо за поддержку! :)
"Нам дается столько, сколько мы можем выдержать." (с) Gladiator (фильм), 2000г.

Администратор сайта - www.keramecom.com
VK - vk.com/leonov_mishka

#4 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 22 Декабрь 2012 - 00:55

С вычислениями на примере позиции счета разобрался. А можно ли делать вычисления в таблицах категорий? То есть я создал новую категорию "Логистика". В ней создал таблицу "Доставка" В таблице есть поля Цена Количество и Стоимость. Как сделать чтобы поле Стоимость вычислялось автоматически на основе произведения поля Цена и Количество.

#5 Гость_Roman_*

  • Гости

Отправлено 22 Декабрь 2012 - 10:47

Всё просто. Создаёте вычисление в таблице "Доставка".
$line['Стоимость'] = $line['Цена'] * $line['Количество'];


#6 f-jeka

    Активный участник

  • Пользователи
  • PipPipPip
  • 196 сообщений

Отправлено 23 Декабрь 2012 - 13:22

Просмотр сообщенияRoman (22 Декабрь 2012 - 10:47) писал:

Всё просто. Создаёте вычисление в таблице "Доставка".
$line['Стоимость'] = $line['Цена'] * $line['Количество'];
Спасибо! Оказывается все так просто :)





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных