parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

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{
			...
		}
	}
}