parser

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

 

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

Не получается update через форму

mu-mu 03.06.2004 13:48

Вы уж извените меня, что беспокою, возможно таким глупым вопросом, но все же. В парсере и в базе данных я недавно, видимо поэтому возник этот трабл, а вот собственно и он:

<b>код:</b>

^connect[$connect]{
$news[^table::sql{select id, head, body from news}]
^if($news){
^news.menu{
$id[$news.id]
^if($request:query ne "edit=$id"){
<b>id:</b> $news.id <br />
<b>head:</b> $news.head <br />
<b>body:</b> <br /> $news.body <br />
<a href="?edit=${id}">edit</a>
<hr size="1" color="#EEEEEE">
}{
^if(def $form:head && def $form:body){
$show_form(0)
^void:sql{update news set head = '$form:head', set body = '$form:body' where id = '$id'}
<font color="maroon"><b>it is edited</b></font>
}{
$show_form(1)
}
}
}
}{
<font color="maroon"><b>empty db</b></font>
}
}

^if($show_form){
<form method="POST">
<input type="text" name="head" value="$news.head" size="50"><br />
<textarea name="body" cols="70" rows="10">$news.body</textarea><br />
<input type="submit">
</form>
}

<i># end </i>

расскажу, что я хотел сделать:
Из базы <i>news</i> ыдираю поля id, head, body. Далее запихиваю их в таблицу и делаю .menu, при это еще один элемент в меню, это ссылка <i>edti</i> под каждым сообщением, <a href="?edit=${id}">, где $id[$news.id], т.е. каждое сообщение имеет ссылку со своим id из базы. При <i>$request:query eq "edit=$id"</i> появляется форма ,вместо выбранного
сообщения с двумя полями <i>head</i> и <i>body</i>, после заполнения которых в базе проискходит <i>update news set head='$form:head', set body='$form:body' <b>where id='$id'</b></i> однако самого update'a не происходит вовсе. Ошибка ,думаю в формах, т.к. при <i>set head='любое слово', set body='любое слово', where id='$id'</i> все работет...

Помогите мне пожалуйста, где ошибка, недочет...
буду очень признателен...