parser

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

 

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

не вполне понимаю, что делаю - это к сожалению правда

organic 09.09.2003 13:44

Миша, спасибо, что нашли возможность ответить.
То, что не вполне понимаю, что делаю - это к сожалению правда. в противном случае - все сделал бы сам.
Код происходит из готевой книги описанной в Мануале
Ниже класс

и документ в котором все ппроисходит
$gb[^gbook::load[]]
^gb.show_form[]
^gb.test_and_post_message[]
@CLASS
xlinks

@load[]
^MAIN:dbconnect{
	$external_links[^table::sql{
		SELECT
			id,
			url,
			title,
			comment,
			date
		FROM
			xlinks
		ORDER BY
			id
		ASC
		}
	]
}

$date[^date::now[]]


@show_links[]
^if($external_links){
	^external_links.menu{	
	<dl>
	<dt>${external_links.id}. <a href="$external_links.url">$external_links.url</a></dt>
	<dd>Название: <b>$external_links.title</b></dd>
	<dd>Описание: $external_links.comment</dd>
	</dl>
	}[<hr>]
}{
	Ссылок нет!
}
<hr>


@show_form[]
$date[^date::now[]]

<table border="0" cellpadding="4" cellspacing="2">
<form method="POST" action="do.html">
<tr>
<td>URL (255 символов):</td>	<td><input name="url" value="http://" size="50"></td>
</tr><tr>
<td>Заголовок (255 символов):</td>	<td><input name="title" size="50"></td>
</tr><tr>
<td valign="top">Описание:</td>		<td><textarea cols="50" name="comment" rows="5"></textarea></td>
</tr><tr>
<td><input type="submit" value="&nbsp^;&nbsp^;&nbsp^;OK&nbsp^;&nbsp^;&nbsp^;" name="post"> <input type="reset" value="Cancel"></td><td>&nbsp^;</td>
</tr>
</form>
</table>



@test_and_post_link[]

##	Проверяем есть ли такой УРЛ?
# 1 = есть
# 0 = нет
	^if($external_links){
		^external_links.menu{	
			^if("$external_links.url" eq "$form:url"){
			$est[1]
			}{
			$est[0]
			}
		}
	}
##

^if(def $form:post){
	^if("$form:url" ne "http://" && "$form:title" ne ""){	

	
^if($est == 0){
$est
$form:url
		^MAIN:dbconnect{
			^void:sql{
			INSERT INTO xlinks (
				url,
				title,
				comment,
				date
				)
			VALUES (
				'$form:url',
				'$form:title',
				'$form:comment',				
				'${date.year}-${date.month}-${date.day}'
			)}
		}
		$response:refresh[
		$.value[3]
		$.url[/xlinks/]
		]
	
}{
	Ссылка уже есть!<br>
}

	}{
		Поля <b>url</b> и <b>title</b> обязательны для заполнения!<br>
	}
}

@show_and_delete[]
^if($external_links){
	<table width="100%" border="0">
	<tr bgcolor="#ffffdd">
	<td><b>Id</b></td>
	<td><b>Url</b></td>
	<td><b>Title</b></td>
	<td><b>Date</b></td>
	<td><b>Сomment</b></td>	
	<td><b>Do</b></td>
	</tr>
	^external_links.menu{
	<tr bgcolor="#ffffff">
	<td valign="top" nowrap>$external_links.id</td>
	<td valign="top" nowrap>$external_links.url</td>
	<td valign="top" nowrap>$external_links.title</td>
	<td valign="top" nowrap>$external_links.date</td>
	<td valign="top">$external_links.comment</td>
	<td valign="top" nowrap>
		<form  method="POST">
		<input type="submit" value="Delete" name="deleteurl">
		</form>
	</td>
	</tr>
	}
	</table>
}{
	Ссылок нет!<br>
}

^if(def $form:deleteurl){
	^MAIN:dbconnect{
			^void:sql{
			DELETE FROM
				xlinks
			WHERE
				id = $external_links.id
			LIMIT
				1
			}
	}
	$response:refresh[
	$.value[0]
	$.url[$request:uri]
	]
}
Вот такие дела