Горе от ума. Работа php и mysql с отчетами

Статус
В этой теме нельзя размещать новые ответы.

RALF

черный рыцарь
Регистрация
1 Май 2006
Сообщения
114
Реакции
26
Добрый день или вечер, я уже запутался. Сижу тут …. Книги по php and mysql рядом. Есть вот такая вот проблемка:

Вопрос по поводу формирования отчетов средствами php and mysql. Задача была следующая:
Сформировать отчеты приход/расход ТМЦ за период. Форма отчета вот такая:

Ведомость по остаткам ТМЦ на складах
С 01.01.07 по 05.01.07
Номенклатура
| Ед.| Начальный остаток |Приход | Расход | Конечный остаток |
Портянки шт. 1,000 3,000 4,000
Каша шт. 19,000 19,000
Тарелки
шт. -64,000 -64,000
Еда
шт. 120,000 20,000 100,000

Таблица движений, из которой должны браться значения:

CREATE TABLE `dvigenie` (
`id` int(60) NOT NULL auto_increment,
`adressid` int(60) unsigned default NULL,
`tovarid` int(60) unsigned default NULL,
`price` float(6,2) default NULL,
`kolvo` int(60) NOT NULL,
`summa` float(6,2) default NULL,
`data` date default NULL,
PRIMARY KEY (`id`)
)

--
-- Дамп данных таблицы `dvigenie`
--

INSERT INTO `dvigenie` VALUES (60, 27, 12, 3.00, 33, 99.00, '2007-01-26');
INSERT INTO `dvigenie` VALUES (59, 27, 10, 1.00, 55, 55.00, '2007-01-26');
INSERT INTO `dvigenie` VALUES (58, 27, 5, 20.00, 20, 400.00, '2007-01-26');
INSERT INTO `dvigenie` VALUES (61, 27, 10, 2.00, -25, 50.00, '2007-01-26');

Не знаю как правильно сформировать запрос, чтобы из таблицы движений формировался такой вот отчет. Т.е. форма для запуска отчета такая вот:
Отчет :: Приход/Расход за период

Наименование склада: Здесь combobox для выбора склада
Приход/Расход за определенную дату: Здесь поле для ввода даты ... кнопа с календарик
Приход/Расход за период: Здесь два поля.... для определения периода...
Ниже кнопка сформировать отчет.


Добавлено через 15 минут
Пользователь Выбирает склад, по которому нужно сделать отчет. Выбирает либо Приход/Расход за определенную дату, либо Приход/Расход за период. После нажатия кнопки Сформировать отчет. Происходит следующее: Выбираются только те записи, которые подаются условию(в функции:(
PHP:
function select_otchet_prihod ($adressid, $date) 
{
$conn = db_connect(); 
$query ="Select * from dvigenie where adressid='$adressid' and data<'$date' "; 
$result =mysql_query($query);
 if (!$result) 
return false;
С этим вроде всё нормально и с экспортом в Exel тоже вроде всё в норме, а вот как сложить суммы идентичных товаров я не знаю. Точнее я наверно ламер, и не могу создать запрос или пару запросов, чтобы после этого селекта всё посчиталось и заполнилось в отчет…. Может все расчеты делать во временной таблице…. Вообщем … незнаю… поэтому и прошу помощи…
Спасибо братцы за Ваши советы!
 
А чем не устраивает SELECT SUM(summa) WHERE ...
 
Sum Очень хорошо работает, но нужно, чтобы считались только те товары, которые идентичные .... т.е. нужно, чтобы он прошелся по всем записям и выбрал идентичные и сложил их. Вот:confused:
 
Что значит идентичные ?
 
Вообщем помогло
PHP:
   $query = "select tovarid,SUM(kolvo)
             from dvigenie GROUP BY tovarid";

Идентичные - значит одинаковые.
В таблице движений одинаковые товары должны складываться. сработало SUM. Но дальше остается такая вот проблема, чтобы выделить все строки до определенной даты, чтобы вычислить начальный остаток. Как поставить условие where data<='$date' ... Никак не могу, чтобы оно заработало
 
where date <= '2007-03-02 15:34:14'
 
Для просмотра ссылки Войди или Зарегистрируйся - это просто ******. честное слово. вы бы хоть каким-нибудь макаром почитали php.net! ***ть мануалы чтоли не для вас придуманы? И потом такая армия вопросов.
*** Вы прежде чем кодить начнете должны иметь представление о разнице
<? и <?php
" и '
просто жуть. прошу прощения за мой французский, но каков вопрос - таков и ответ.
 
Вообще-то вопрос был скорее по SQL нежели PHP. И лучше ему читать мануал по MySQL...
 
Slayter, Вы не до оцениваете своих собеседников. и разницу между <? и <?php я знаю. И на читку мануалов послылать не надо. Можете помочь - СПАСИБО. Не можете, не засоряйте тему определениями о кодинге. Кодинг пока есть моя жизнь. Просто это раньше был просто кодинг, а теперь web-кодинг. :-]
 
да вы чо? покурите всё же мануал :)
пока просто смешно читать - если человек даже понятия не имеет о том, что в sql запросах цифры можно юзать без кавычек - то .... :smmne:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху