parser

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

 

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

Ответ

Misha v.3 20.02.2007 22:16 / 20.02.2007 22:18

0. Имена полей из документации КЛАДР:
самое время сказать им 'бееее'
1. в момент, когда я определяю строковою переменную $link, в $kladr.cc не содержится ничего, т.к. таблица $kladr задается позже
тогда что вы хотите чтобы тут было? сюда помещяется значение $kladr.cc, т.к. $kladr - void, то $kladr.cc - тоже void, т.е. при выводе - пустая строка.
2. Попробовал $link{^if($cc != 00){$link}{${link}&cc=${kladr.cc}&rrr=-1}} получил link
очевидно. я имел в виду не заменить скобочки, а написать там рабочий код. понятное дело что $link{$link} - есть вечный цикл.
можно например такое:
$sLink[site.ru/edit2.html?action=show_kladr]
$jLink{$sLink^if($kladr.cc == 00){&cc=$kladr.cc&rrr=-1}}
но еще раз повторяю: это - лишнее. если ссылки у каждой строки разные (а похоже они должны быть разные, т.к. выводить на страницу N одинаковых ссылок - незачем), напишите конструкцию, формирующую ссылку внутри menu, как я показал в предыдущем сообщении.
3. Если делать по-вашему, то значение $link^if($cc == 0){&cc=$kladr.cc&rrr=-1} будет вычисляться многократно (в пределе 180000 раз)
но я так и не понял что вы хотите получить внутри <a href=""> на месте '$kladr.cc'? для каждой строки - разные значения? если да, то вычислять придется по любому. а вот 180000 раз - забудьте. у парсера есть ограничения, столько вы не сможете им вывести :)

еще по коду:
$where_string[^if($cc != 00){cc='$cc' AND }]
$link[^if($cc != 00){$link}{${link}&cc=^$kladr.cc&rrr=-1}]				  
$where_string[^if($rrr != -1){${where_string}rrr='$rrr' AND }{${where_string}rrr<>'000' AND }]
$where_string[^if($ggg != -1){${where_string}ggg='$ggg' AND }{$where_string}]
$where_string[^if($ppp != -1){${where_string}ppp='$ppp' AND }{${where_string}ppp<>'000' AND }]
$where_string[^if($aa != -1){${where_string}aa='$aa'}{${where_string}aa > -1}]
это ужасно. с моей точки зрения следующий код в разы читабельней (+ символов меньше)
$where_string[
	^if($rrr != -1){
		rrr='$rrr'
	}{
		rrr<>'000'
	}
	AND
	^if($ppp != -1){
		ppp='$ppp'
	}{
		ppp<>'000'
	}
	AND
	^if($aa != -1){
		aa='$aa'
	}{
		aa > -1
	}
	^if($cc != 00){
		AND cc='$cc'
	}
	^if($ggg != -1){
		AND ggg='$ggg'
	}
]