Довольно давно я написал статью о том, как с помощью библиотек Prototype и Scriptaculous добавить возможность редактирования и удаления записей обычному html списку (вообще-то это был цикл статей 1, 2, 3, 4, 5). С тех пор несколько читателей просили доработать пример и добавить возможность сортировки записей. Переделывать тот пример я не буду, т. к. Prototype сейчас практически не использую, лучше покажу, как решить задачу с помощью jQuery. Сформулируем требования. Необходимо создать html список с возможностями: – изменение записей; – удаление записей; – изменение порядка записей. Кроме того, необходимо предусмотреть возможность создания новых записей. В общем, работать это будет примерно так. Сразу же даю ссылку на архив с исходниками. Теперь разберём принцип работы. На сегодняшний день сохранить данные html списка можно двумя способами. 1) На стороне сервера в БД. При этом, после каждого изменения (удаления, создания новой) записи будет отправляться запрос серверу. 2) В браузере, при условии, что он поддерживает HTML5 или есть доступ к какому-нибудь другому хранилищу. Этот способ работает быстрее и не требует постоянного подключения к интернету, но поддерживается не всеми браузерами. В частности, в IE работать не будет. Поэтому я остановился на первом варианте. Итак, наше приложение состоит из двух частей: клиентской и серверной. Клиентская часть представляет собой HTML страницу и набор JS скриптов, которые отправляют запросы, позволяют сортировать список и т. п. Серверная – это набор PHP скриптов, которые обрабатывают запросы и работают с базой данных.
Я не использовал фреймворк в этом примере, поэтому получился набор отдельных скриптов под каждую операцию. При использовании фреймворка эти скрипты станут методами контроллера и, естественно, вы сможете использовать встроенную библиотеку для работы с БД. Кстати, для этого примера я выбрал базу sqlite, но, т. к. доступ к ней осуществляется с помощью PDO, то вы легко сможете заменить её, например, на MySQL (достаточно будет изменить параметры подключения). Подключение к БД Выполняется скриптом db. php, сяостоящим всего из одной строки.