Реализация

Реализация вывода списка рассмотрена в предыдущем примере. Единственное, что здесь добавляется – это вывод кнопок для пользователя «администратор». Для этого можно использовать следующего вида форму, имеющую уникальное имя для каждой записи:

<form name=\"f$array[id]\" action=\"$action?page=$_GET[page]\" method=\"post\" >

<input type=\"image\" title='Вверх' src='../images/up.gif' onclick= 'document.f$array[id].button.value=\"up\";'><input type=\"image\" title='Вниз' src='../images/down.gif' onclick= 'document.f$array[id].button.value =\"down\";'>

<input type=\"image\" src='../images/refresh.gif' title = 'Редактировать' onclick= 'document.f$array[id].button.value =\"edit\";'>

<input type=\"image\" src='../images/del.gif' title='Удалить' onclick='if (confirm(\"Удалить уровень из системы?\")) document.f$array[id].button.value=\"delqw\";else return false;'><br>

<?/*передаем в скрытых полях идентификатор записи в таблице и название нажатой кнопки*/?>

<input type='hidden' name='idqw' value='$array[id]'>

<input type='hidden' name='button' value='change' >

</form.

Добавление нового элемента в список реализуется так:

function add($idqw,$tbl){// выводим форму для добавления

global $action_add_msg;

$action_msg=$action_add_msg; $button="save_add";

include "form.html";

}

function save_add($idqw,$tbl){// добавляем в БД

global $err_duplicate_msg;

$query = "SELECT id FROM $tbl WHERE name='$_POST[name]'";

$result = MYSQL_QUERY($query);

IF (MYSQL_NUMROWS($result)==0){//элемента нет, добавляем

/*увеличиваем порядковый номер элементов, следующих за добавляемым*/

$query="UPDATE $tbl SET ord=ord+1 WHERE ord>=$_POST[ord] and id_category=$_POST[id_category]";

$result=mysql_query($query) or die(mysql_error());

$query = "INSERT INTO $tbl (name, ord, activity,id_category,date) VALUES('$_POST[name]', '$_POST[ord]', $_POST[activity], '$_POST[id_category]', NOW())";

$result = MYSQL_QUERY($query);

}

else { echo $err_duplicate_msg;

$array=$_POST;

$button=$_POST['button'];

include "form.html";

}

}

Шаблон формы для добавления/редактирование (хранится в файле form.html).

Редактирование элемента списка осуществляется так:

function edit($id,$tbl){// выводим форму для редактирования

global $action_edit_msg;

$action_msg=$action_edit_msg;// название подписи формы

$button="save_edit"; // название подписи конпки

$query="SELECT id,name,ord,activity,id_category FROM $tbl WHERE id=$id";

$result=mysql_query($query) or die(mysql_error());

$array = mysql_fetch_array($result, MYSQL_ASSOC);

include "form.html";

}

function save_edit($id,$tbl){ //сохраняем изменения в БД

global $err_duplicate_msg;

$query = "SELECT id FROM $tbl WHERE name='$_POST[name]'";

$result = MYSQL_QUERY($query);

IF((MYSQL_NUMROWS($result)==0)||(mysql_result($result, 0,'id') == $idqw)){// если такого названия нет у других, то изменяем

$query = "UPDATE $tbl SET name='$_POST[name]', ord='$_POST[ord]',activity=$_POST[activity],id_category='$_POST[id_category]' WHERE id=$idqw";

$result = MYSQL_QUERY($query);

}

else { echo $err_duplicate_msg;

$array=$_POST; $button=$_POST['button'];

include "form.html";

}}

Удаление элемента из списка выполняется так:

function delqw($idqw, $tbl){ //удалить элемент из БД

//определяем порядковый номер элемента


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: