| Новости | 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{
...
}
}
}