powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите плиз создать запрос с двойной группировкой!
10 сообщений из 10, страница 1 из 1
Помогите плиз создать запрос с двойной группировкой!
    #32380889
Optimist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется база с тремя таблицами:

group: title | id

subgroup: title | label | group_id

product: title | subgroup_id

По цветам - идентичные поля в таблицах, через которые их можно связать.

Нужно вывести вот такой документик с наименованиями (title)

Group1
subgroup1
product1
product2
product3

subgroup2
product1
product2
Group2
subgroup1
product1
product2
product3

subgroup2
product1
product2


Может я где неправильно выразился - я пока начинающий....

Заранее спасибо.
Если можно - скинуть на емейл 888888@pochta.ws
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32380965
Optimist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
дополнение:
вывод я уже сделал
но он щас в такой форме:

Группа --- Подгруппа --- Продукт
Группа --- Подгруппа --- Продукт
Группа --- Подгруппа --- Продукт

а хотелось бы избежать ненужных повторений
и привести список к такому виду:

Группа
--- Подгруппа
------Продукт
------Продукт
------Продукт
------Продукт
--- Подгруппа
------Продукт
Группа
--- Подгруппа
------Продукт
------Продукт
--- Подгруппа
------Продукт
------Продукт
------Продукт
------Продукт
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32380989
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
то как ты выводишь, не имеет никакого отношения к mysql.
Это уже вопрос к программистам, которые используют тот же язык прорграммирования что и ты.
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32381239
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверно Макс имел ввиду что это не клиенте делается, например, в к-н Crystal Reports или php

на php или любом другом языке программирования это делается типа примерна так

проверяется, изменилась ли группа, если да то выводится что-то типа
<td colspan=3>название группы</td>
проверяется, изменилась ли подгруппа, если да то выводится
<td colspan=3>название подгруппы</td>
и в любом случае выводим поля продукта
<td>Поле1</td><td>Поле2</td><td>Поле3</td>
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32381455
Optimist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну т.е. да, я опять неверно вопрос поставил:)

в общем, ХТМЛ я знаю очень хорошо, а вот на PHP пока только учусь программить.

Если б кто подсказал, как эту проверку сделать (на изменение группы), был бы очень признателен.

в общем для простоты покажу что у меня имеется:

Код: plaintext
1.
2.
3.
$p=mysql(DBName, "select tmb_product.label, tmb_product.price_main, tmb_product.price_order, tmb_product.price_site, tmb_product.model, tmb_product.filename, tmb_subgroup.subgroup, tmb_groups.groups from tmb_product inner join tmb_subgroup on tmb_product.subgroup_id = tmb_subgroup.label inner join tmb_groups on tmb_subgroup.group_id = tmb_groups.id" );
for($i= 0 ; $i<mysql_numrows($p); $i++)
 { $fp=mysql_fetch_array($p);
   echo  "<tr bgcolor='#ffffff'><td nowrap><b>$fp[groups]</b></td><td nowrap>$fp[subgroup]</td><td><a href='/product/$fp[filename]' target='_blank'>$fp[model]</a></td><td align='right'>$fp[price_main]</td><td align='right'>$fp[price_order]</td><td align='right'>$fp[price_site]</td><td nowrap><a href='javascript://' onclick='goBasket(\"$fp[label]\")'>В корзину</a></td></tr>\n" ;
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32382178
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Optimist
это уже простейший алгоритм:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
$group = '';
$sub_group = '';
while ($row = mysql_fetch_assoc($res)) {
   echo  "<tr>" ;
   if ($res['group'] != $group) {  /// вывод группы
      echo  "<td><b>" .$res['group']. "</b></td>" ;
      $group = $res['group'];
  } else {
      echo  "<td>   </td>" ; // группа не изменилась, выводим пустую ячейку
  }

   if ($res['sub_group'] != $sub_group) {  /// вывод подгруппы
      echo  "<td><b>" .$res['sub_group']. "</b></td>" ;
      $sub_group = $res['sub_group'];
  } else {
      echo  "<td>   </td>" ; // подгруппа не изменилась, выводим пустую ячейку
  }
  echo  "<td>" .$res['product']. "</td>" ;
  echo "</tr>
}


Это лишь пример (с твоим кодом я не разбирался)
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32382182
Макс М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хмм, похоже форум символы & n b s p; неправильно обрабатывает.
Там где пустая ячейка & n b s p; пиши
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32382217
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот это

Код: plaintext
echo  "<td>   </td>" ; // группа не изменилась, выводим пустую ячейку



имхо можно и не делать - красивше бует
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32382218
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
 
...
Рейтинг: 0 / 0
Помогите плиз создать запрос с двойной группировкой!
    #32382219
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
&nbsp;
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Помогите плиз создать запрос с двойной группировкой!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]