Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
Misha v.3 26.05.2015 23:26 / 26.05.2015 23:36
не понял. зачем?CREATE TABLE `заказы` ( `код` int(11) unsigned NOT NULL AUTO_INCREMENT, `номер_заявки` varchar(255) NOT NULL DEFAULT '', PRIMARY KEY (`код`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; CREATE TABLE `заявки` ( `номер_родительской_заявки` int(11) unsigned NOT NULL DEFAULT '0', `номер_дочерней_заявки` int(11) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`номер_дочерней_заявки`), KEY `номер_родительской_заявки` (`номер_родительской_заявки`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; CREATE TABLE `подключение_заявок` ( `номер_дочерней_заявки` int(11) unsigned NOT NULL DEFAULT '0', `номер_заказа` int(11) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`номер_дочерней_заявки`,`номер_заказа`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;и вашему коду:
^СписокЗаказов.menu{ ^СписокЗаявок.[$СписокЗаказов.номер_заявки].foreach[key;value]{ $key - номер дочерней заявки ^value.menu{ $value.номер_заказа - номер заказа, где было подключение } } }если я правильно понял (хотя я не до конца понял смысла номер_родительской_заявк, это связь многие ко многим? по каким ключам?), получится примерно так:
$tЗаказы[^sql:table{SELECT * FROM заказы}] $tЗаявки[^sql:table{SELECT * FROM заявки}] $tПодключения[^sql:table{SELECT * FROM подключение_заказов}] $hЗаявки[^tЗаявки.hash[номер_дочерней_заявки;$.distinct(true) $.type[table]]] $hПодключения[^tПодключения.hash[номер_заказа;$.distinct(true) $.type[table]]] ^tЗаказы.menu{ ^hПодключения.[$tЗаказы.номер_заказа].menu{ ^hЗаявки.[$hПодключения.[$tЗаказы.номер_заказ].номер_дочерней_заявки].menu{ ... } } }