parserALT
Страницы форума: ← Назад | 1 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 600 | Дальше →

Помогите разобраться с вызовом метода внутри класса

#1Andrey
15.08.10 00:48
www.parser.ru → | ответить → | в избранное →

Помогите разобраться с вызовом метода внутри класса

Уважаемы монстры и гуру парсера объясните как побороть проблемму...
есть пользовательский класс (например class1), внутри класса есть метод (metod1) в котором формируется таблица, далее
@metod1[]
^connect[$connect_string]{$таблица1[^table::sql{
SELECT .....
}]}
^таблица1.menu{
работаем с данными таблицы
^metod2[]
}

@metod2[]
вычисляем переменные
$перемнная1(работаем с $таблица1.столбец1)
$перемнная1(работаем $таблица1.столбец2)
^connect[$connect_string]{$таблица2[^table::sql{
SELECT .....
WHERE
поле1=$перемнная1
поле2=$перемнная2
}]}
работаем с данными таблицы, результат работы возвращается в
metod1

так вот, не смотря на то что $таблица1.столбец1 и $таблица1.столбец2 меняются при переборе строк таблицы $перемнная1 и $перемнная2 не меняются и соответственно таблица2 тоже не меняется и в результате работы кода постаянно отдается одно и то же... Что я не так делаю? Заранее спасибо всем ответившим.
#2Maxx
→ Andrey [#1] | 15.08.10 02:12 / 02:13
www.parser.ru → | ответить → | в избранное →
method2 ничего не знает о состоянии таблицы1 в method1. Передайте ему текущую строку:
@method1[]
^table1.menu{
  работаем с данными таблицы
  ^metod2[$table1.fields]
}

@method2[hFields]
^connect[$connect_string]{
  $таблица2[^table::sql{
    SELECT .....
    WHERE
     поле1=$hFields.столбец1
     поле2=$hFields.столбец2
}]}


P.S. вы уверены, что данный код не стоит реализовать на самом mysql с помощью JOIN?
P.P.S. второй ^connect[] здесь не нужен, если конечно строка подключения не разная
#3Andrey
→ Maxx [#2] | 15.08.10 10:24
www.parser.ru → | ответить → | в избранное →

Re: Не помогло, проблемма была в логике цикла while...

Не помогло, проблемма была в логике цикла while... но информация все равно полезная...
#4Misha v.3
→ Andrey [#3] | 15.08.10 11:48
www.parser.ru → | ответить → | в избранное →

в вашем первом сообщении я почему-то не видел while...

скорее всего при написании сообщения в форум вы упустили какую-то важную деталь, т.к. в общем всё было корректно (хотя и не совсем красиво)
#5Andrey
→ Misha v.3 [#4] | 16.08.10 17:03
www.parser.ru → | ответить → | в избранное →
просто я не посчитал нужным приводить большой кусок кода в форум, а выложил только только тот кусок который по моему мнению не работал... сорри...
Страницы форума: ← Назад | 1 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 600 | Дальше →