parser

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

 

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

Ответ

Misha v.3 15.11.2005 13:57 / 15.11.2005 14:05

^if($days.$week_day==$bron.d){...}
этой строкой вы сравниваете значение, которое лежит в $days.$week_day (номер выводимого дня месяца) со значением, которое лежит в текущей строке таблицы $bron в столбце с именем d. при этом вы нигде не изменяете текущий указатель этой таблицы, т.е. каждый раз вы сравниваете с одним и тем-же.

в вашем случае можно сделать следующее:
1. ^if($days.$week_day==$bron.d){...} => ^if(^bron.locate[d;$days.$week_day]){...} (незабыть сделать поправку на "ветер" в виде начальных нулей)

2. доставать $bron как хеш где ключ - d, и делать ^if($bron.[$days.$week_day]){...}, что будет быстрее чем вариант с locate (про "ветер" не забываем и тут).

ещё замечание: day доставать в цикле не надо. незачем делать N одинаковых sql запросов, но вот помнить про месяц и включить его в запрос - нужно (лучше как диапазон, см. пример про новости)