pavel012007
Постоялец
- Регистрация
- 12 Мар 2008
- Сообщения
- 210
- Реакции
- 117
допустим бампер который может присутствовать как у мерса 200... мерса 600... так и у ВАЗ 2109 ...и тд и т п...
Значения таблицы d (для удобства приведены значения поля name, которые лучше хранить в таблице h и ссылаться на них из d по id_name
id_m name id_dn
1 ...
1 универсальный супер-бампер к МЕРИНАМ и ВАЗам 111
1 ...
111 ....
111 мерин 222
111 ВАЗ 333
111 ...
222 ...
222 мерин-200 NULL
222 мерин-600 NULL
222 ...
333 ...
333 2109 NULL
333 2108 NULL
333 ...
или марка ваз .. модель2109..
бампер передний..бампер задний ..бампер хромированный..бампер серия 12345...
id_m name id_dn
1 ...
1 бампер передний 111
1 бампер задний 111
1 бампер хромированный 111
1 ...
111 ...
111 ВАЗ 222
111 ...
222 ...
222 2109 NULL
222 ...
тормоз ручной модель 1234567 относится и к ваз 2109, и к ваз 2108, и к ваз 1234567...
id_m name id_dn
1 ...
1 тормоз ручной модель-1234567 111
1 ...
111 ...
111 ВАЗ 222
111 ...
222 ...
222 2109 NULL
222 2108 NULL
222 ...
На примере супербампера для мерина и ваза.
Стартовое меню - 1 ($id=1). Вытаскиваем из d пункты меню с id_m равным id:
Код:
SELECT * FROM d WHERE id_m = $id;
1 ...
1 универсальный супер-бампер к МЕРИНАМ и ВАЗам 111
1 ...
Выбираем конкретный пункт меню - пусть пункт с d.id_dn=111. Присваиваем $id значение 111 и вытаскиваем
пункты меню следующего уровня:
Код:
SELECT * FROM d WHERE id_m = $id;
111 ....
111 мерин 222
111 ВАЗ 333
111 ...
Выбираем пункт меню - с d.id_dn=222. Присваиваем $id значение 222 и вытаскиваем очередное меню:
Код:
SELECT * FROM d WHERE id_m = $id;
222 ...
222 мерин-200 NULL
222 мерин-600 NULL
222 ...
to serjinio и в чем именно вы видите мою ошибку?