Вернуться   Форум SAPE.RU > Общие вопросы > Разработка и сопровождение сайтов

-->
Ответ
 
Опции темы
Старый 22.11.2009, 19:58   #1
телочка на авке клевая?
 
Аватар для 10012003
 
Регистрация: 14.09.2008
Адрес: Замкадье.
Сообщений: 1,522
Вес репутации: 261
10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее
По умолчанию помогите посчитать PHP

привет всем!
Столкнулся с такой проблемой, никак не могу посчитать количество товара

крипт

while (заказы){

while (товары в заказе){

номер товара, количество

}}

выводит

123 1шт
321 2шт
456 1шт

123 2шт
321 1шт

456 5шт

выводит правильно, надо сделать что бы выводило номер товара и общее количество, то есть так

123 3шт
321 3шт
456 6шт

Второй день бьюсь никак не получается помогите кто может

Добавлено через 2 минуты
в данном случае 3 заказа с разным количеством товара, в идеале количество заказов не ограничено, так же как и количество товаров в заказе

Добавлено через 1 минуту
сам скрипт
PHP код:
<?
$select_zak 
mysql_query("SELECT * FROM zakaz WHERE pr = '$_SESSION[USER]' AND cat = '$catalog[id]' AND statys = '1' ");
while(
$zak mysql_fetch_assoc($select_zak)){

$select_tovq mysql_query("SELECT * FROM basket WHERE zakaz = '$zak[id]'");
while(
$tovq mysql_fetch_assoc($select_tovq)){

$select_tovn mysql_query("SELECT * FROM records WHERE id = '$tovq[tovar]' ");
$tovn mysql_fetch_assoc($select_tovn);
if (
$tovn[kat] != 0){
$select_tovnn mysql_query("SELECT * FROM records WHERE id = '$tovn[kat]' ");
$tovnn mysql_fetch_assoc($select_tovnn);
} else (
$tovnn="");

?>

<?=$tovn[nomer]?> <?=$tovnn[name]?> <?=$tovn[name]?>  <?=$tovq[kol]?> <br>
<? }} ?>
Добавлено через 6 минут
ну что нет математиков или что то не понятно

Последний раз редактировалось 10012003; 22.11.2009 в 19:58. Причина: Добавлено сообщение
10012003 вне форума   Ответить с цитированием
Старый 22.11.2009, 20:00   #2
Мастер
 
Аватар для DNA
 
Регистрация: 23.09.2008
Адрес: СССР
Сообщений: 683
Вес репутации: 228
DNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущееDNA - прекрасное будущее
Отправить сообщение для DNA с помощью ICQ
По умолчанию

В sql-запросе GROUP BY не подойдёт?
DNA вне форума   Ответить с цитированием
Старый 22.11.2009, 20:08   #3
Специалист
 
Аватар для gobliin
 
Регистрация: 07.05.2008
Адрес: Н-ск
Сообщений: 254
Вес репутации: 209
gobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личность
Отправить сообщение для gobliin с помощью ICQ
По умолчанию

Можно всё одним sql-ем сделать, это будет быстрее.
gobliin вне форума   Ответить с цитированием
Старый 22.11.2009, 20:09   #4
Мастер
 
Аватар для Vetas
 
Регистрация: 13.03.2008
Адрес: 127.0.0.1
Сообщений: 615
Вес репутации: 240
Vetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущее
По умолчанию

Я бы, наверно, сделал промежуточную таблицу, в которую бы вставлял результаты и уже из нее потом делал общий вывод. И организовать фильтр удобнее, и php сильно нагружать не будет.
Vetas вне форума   Ответить с цитированием
Старый 22.11.2009, 20:16   #5
телочка на авке клевая?
 
Аватар для 10012003
 
Регистрация: 14.09.2008
Адрес: Замкадье.
Сообщений: 1,522
Вес репутации: 261
10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее
По умолчанию

пользователей может быть несколько и у каждого несколько заказов. поэтому промежуточная таблица не подойдет как организовать с помощью GROUP BY не знаю
Цитата:
Сообщение от gobliin Посмотреть сообщение
Можно всё одним sql-ем сделать, это будет быстрее.
так пишите как, а то что сделать можно все я и так знаю
10012003 вне форума   Ответить с цитированием
Старый 22.11.2009, 20:38   #6
Мастер
 
Аватар для Vetas
 
Регистрация: 13.03.2008
Адрес: 127.0.0.1
Сообщений: 615
Вес репутации: 240
Vetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущее
По умолчанию

Цитата:
Сообщение от 10012003 Посмотреть сообщение
пользователей может быть несколько и у каждого несколько заказов. поэтому промежуточная таблица не подойдет
А какие вообще поля в таблице zakaz?
Vetas вне форума   Ответить с цитированием
Старый 22.11.2009, 20:42   #7
телочка на авке клевая?
 
Аватар для 10012003
 
Регистрация: 14.09.2008
Адрес: Замкадье.
Сообщений: 1,522
Вес репутации: 261
10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее
По умолчанию

id автоинкремент
date дата
userid id того кто добавил заказ
pr исполнитель заказа
statys статус заказа
cat из какого каталога заказ
10012003 вне форума   Ответить с цитированием
Старый 22.11.2009, 20:43   #8
Специалист
 
Аватар для gobliin
 
Регистрация: 07.05.2008
Адрес: Н-ск
Сообщений: 254
Вес репутации: 209
gobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личностьgobliin - просто великолепная личность
Отправить сообщение для gobliin с помощью ICQ
По умолчанию

Цитата:
Сообщение от 10012003 Посмотреть сообщение
так пишите как, а то что сделать можно все я и так знаю
Чтобы написать, нужно на модель базы взглянуть, и посмотреть какие таблицы как друг с другом связаны. По коду я в этом разбираться не буду.

Добавлено через 49 секунд
можно в MySql WorkBench диаграмму построить и скрин выложить.

Последний раз редактировалось gobliin; 22.11.2009 в 20:43. Причина: Добавлено сообщение
gobliin вне форума   Ответить с цитированием
Старый 22.11.2009, 20:45   #9
Мастер
 
Аватар для Vetas
 
Регистрация: 13.03.2008
Адрес: 127.0.0.1
Сообщений: 615
Вес репутации: 240
Vetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущееVetas - прекрасное будущее
По умолчанию

Цитата:
Сообщение от 10012003 Посмотреть сообщение
id автоинкремент
date дата
userid id того кто добавил заказ
pr исполнитель заказа
statys статус заказа
cat из какого каталога заказ
Так почему бы сюда не добавить поле "номер заказа"?
Это, я так понимаю, главная таблица заказов? Вот добавь это поле и делай выборку.
Vetas вне форума   Ответить с цитированием
Старый 22.11.2009, 20:58   #10
телочка на авке клевая?
 
Аватар для 10012003
 
Регистрация: 14.09.2008
Адрес: Замкадье.
Сообщений: 1,522
Вес репутации: 261
10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее10012003 - прекрасное будущее
По умолчанию

Цитата:
Сообщение от Vetas Посмотреть сообщение
Так почему бы сюда не добавить поле "номер заказа"?
id соответствует номеру заказа

Добавлено через 2 минуты
gobliin, что то Вы не в ту степь пошли

все гораздо проще, нужно сложить значения при совпадении имен, какая разница что откуда берется

Добавлено через 7 минут
по коду
zakaz номера заказа, чей заказ и кто исполнитель
basket содержание заказа: id заказа и количество
records номер заказа и имя

Последний раз редактировалось 10012003; 22.11.2009 в 20:58. Причина: Добавлено сообщение
10012003 вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите помогите вставить код в ShopScript Cat_N Вопросы по работе системы 3 22.01.2010 14:35
Как посчитать бэклинки? osrsoft Общие вопросы оптимизации 3 28.01.2009 11:49
Помогите правильно посчитать atotarho Вопросы по работе системы 2 06.11.2008 07:53
help! надо посчитать статистику по логу Sasa Курилка 0 03.10.2007 22:25


Часовой пояс GMT +3, время: 18:20.