]]>
ваш баннер
]]>

Разработка web приложений. Как сделать редактор списка в стиле Web 2.0 (редактирование записей)

7 января, 2008

Скриншот WebListEditor
В этой статье мы продолжаем создание web редактора. Этот редактор позволяет создавать/изменять/удалять записи списка. Напомню, что мы уже разобрали структуру приложения, создали его главную страницу и научились создавать новые записи. Сейчас мы переходим к редактированию записей.

Примечание. Вы можете посмотреть демонстрационную версию редактора или скачать архив с файлами проекта.

Возможность редактирования записей в списке – это, наверное, главное преимущество данного приложения. Обеспечивается она с помощью встраиваемого редактора, входящего в состав библиотеки Scriptaculous. Создание и настройку этих редакторов мы рассмотрели в статье (Как сделать редактор списка в стиле Web 2.0 (главная страница)). Напомню, что на данный момент редакторы для каждой записи в списке находятся в массиве editors.

Теперь разберем, как работает редактор. При нажатии на кнопку «Сохранить» выполняется Ajax запрос к скрипту updateitem.php.
Работа этого скрипта практически полностью аналогична additem.php, рассмотренному в предыдущей части.

Code (php)
  1. require_once("dbdata.php");
  2.  
  3. $v = null;
  4. $id = null;
  5. $v = $_POST[‘value’];
  6. $id = $_POST[‘id’];
  7. if (($v != null) && ($v != "") && ($id != null) && ($id != "") ) {
  8.     $v = htmlspecialchars($v);
  9.     //обновляем запись в БД
  10.     $con = connect();
  11.     $updateQuery = sprintf("UPDATE listitems SET item=’%s’ WHERE id=%d",
  12.                         mysql_real_escape_string($v),
  13.                         mysql_real_escape_string($id));
  14.     if (mysql_query($updateQuery)) {
  15.         echo $v;
  16.         return;
  17.     }
  18.     else {
  19.         $results[‘error_mes’] = "Не могу обновить запись: ".mysql_error();
  20.     }
  21. }
  22. else {
  23.     $results[‘error_mes’] = ‘Не задано значение записи’;
  24. }
  25. if ($con != null) {
  26.     mysql_close($con);
  27. }
  28. echo json_encode($results);

Разница заключается в том, что скрипт не создает новую запись, а обновляет существующую (строка 11). Для этого ему передается параметр id, указывающий, какую именно запись необходимо изменить.

Кроме того, при успешном выполнении скрипта, мы возвращаем полученную строку, не преобразуя ее в формат json (это требование библиотеки).

Нажатие на ссылку «Отмена» не приводит к отправке запроса, а просто убирает форму с редактором и возвращает список в исходное состояние.

Как видите, эта часть приложения довольно простая. В основном, за счет использования библиотеки Scriptaculous. По большому счету, мы только создали редактор (этот этап описан во второй статье этого цикла) и написали серверный скрипт, выполняющий обновление записи в БД. Весь JavaScript код, выполняющий вставку формы, отправку запроса, обновление и т.п. предоставляется библиотекой.

В следующей статье мы рассмотрим удаление записей списка.

Понравилась статья? Подпишитесь на продолжение rss link !

]]>

Добавьте эту страницу в google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

]]>

Опубликовано в Ajax, JavaScript, PHP

]]>

Комментариев нет

Вы можете отслеживать обсуждение записи с помощью RSS 2.0 rss link

Вы также можете оставить комментарий, или трекбек с Вашего сайта.

Оставить комментарий

Введите ваш комментарий

* - обязательные для заполнения поля

Quicktags:

]]>