|
|
ru.website- RU.WEBSITE ------------------------------------------------------------------- From : pavel kurnosoff 2:5030/661.25 28 Jun 2001 13:30:55 To : Serge Shikov Subject : Литература по PHP -------------------------------------------------------------------------------- 27 Jun 01 10:09, you wrote to all: SS> <esql:connection> SS> </esql:connection> боже. ну и галиматья. это писали либо машина, либо человек, которому себя не жалко. скажи мне, что это автогенерированный код. скажи пожалуйста, а то я оканчательно разочаруюсь. {% USE db=DB(dsn=>"...",user=>"...",password=>"...") %} {% BLOCK deps %} <header>...</header> {% FOREACH dep=db.query("select id,name from dep_table"); %} <departament> <name>{% dep.name | xml %}</name> <id>{% dep.id | xml %}</id> {% FOREACH user=db.query("select name from dep_users where id=?",dep.id) %} <user>{% user.name | xml %}</user> {% END %} </departament> {% END %} <footer>...</footer> {% END %} вот. я мог бы сделать это через {% VIEW %}, но моих изменений, которыми бы я воспользовался еще пока нет в основном дереве, так что это нечестно ;) SS> (Это кокуновский подход, есть еще и поудобнее средства, XLE SS> например). SS> Заметь - тут два вложенных select, так что твой db.getrow("select date SS> from table") уже пошел лесом - у тебя уже будет два цикла. а у тебя два уровня вложенности. и что? будешь утверждать, что там нет внутри циклов? SS> Эту вот фигню написал _программист_, про то, кто это написал см. выше. SS> знакомый со структурой базы. SS> Дальше он сказал другому человеку, что тот получит данные такой SS> структуры: SS> <header>...</header> SS> <department> SS> <id>...</id> SS> <name>...</name> SS> <user>...</user> SS> </department> SS> ... SS> <footer>footer info</footer> ну, аналогично. SS> Теперь представим себе, что в каждой строке этого безобразия есть SS> поле SS> типа дата, и наш контрол dates:input надо повторить тоже для каждой SS> строки. Каким образом ты собрался ссылаться на одно из полей, SS> выбранных твоим select-ом - я не понимаю. Я лично сошлюсь на него при SS> помощи XPath - потому что у меня _на самом деле_ все в XML. XPath? пожалуйста. SS> Что интересно - на данном этапе человек уже может быть дизайнером. SS> Ему SS> максимум что надо знать, так это XPath, который в общем выучить не SS> сложно. Во всяком случае что-то типа //department/user/birthdate SS> напишет любой дурак. {% USE deps=XML::XPath(xml=>deps) %} {% FOREACH date=deps.findnodes('//departament/user/birthdate') %] {% INCLUDE dates/input ... value=date.string_value %} {% END %} SS> А у тебя на самом деле все будет в перле и в его переменных, которые SS> тебе придется заводить для этой задачки. а у тебя на самом деле всё будет в java в куче(heap). и чего? чем тебя так пугают переменные? SS> А все почему - потому что ты SS> не можешь вкладывать свои операции %INCLUDE друг в друга - у них SS> синтаксис SS> не XML-ный. мда... аргумент. ну есть есть {%wrapper%} - их можно вкладывать. SS> Потому что у них нету контекста, как в XML-документе, SS> взаимосвязей типа родитель-ребенок-сосед и т.п. Поэтому у тебя XPath SS> нету, а у меня - есть. ой, гонишь... SS> Может ты XML и знаешь, но пока ты предлагаешь SS> совершенно не-XML-ные решения, на мой взгляд совершенно кривые и SS> негибкие. ну да - вот то, что там сверху, оно действительно кривое. ибо хрен бы я в этой ситуации стал туда еще и xml вводить. лишний он там, лишний... ну раз уж ты просишь... pavel --- GoldED+/W32 1.1.4.7 * Origin: there's no tomorrow (2:5030/661.25) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.website/39313b3b0073.html, оценка из 5, голосов 10
|