Шаг 8. Сохранение данных в БД
После того как мы ввели данные в форму, при нажатии на кнопку "Сохранить", мы должны сохранить введенные данные в таблице БД. Для этого создадим функцию saveGoodtime() в файле admin.goodtimes.php
1 |
function saveGoodtime( $option ) |
Для начала мы объявляем глобальную переменную $mainframe и текущее сооединение с БД. У переменной $mainframe есть много функций которые мы можем использовать для того чтобы управлять сессией, переменными и заголовками. Также мы создаем $row как экземпляр нашего класса Tablegoodtimes. Далее функция bind() загружает в $row все переменные формы.
Если функция bind() выдает ошибку, то мы выводим предупреждение и возвращаем пользователя к предыдущему шагу.После того как переменные формы загружены в массив $row мы можем использовать их, далее мы подготавливаем их для записи в БД.
Далее используя функцию store() мы обновляем или же вставляем запись в БД. Здесь т.к. у нас нет значения id то у нас происходит вставка новой записи.
Если происходит ошибка в запросе SQL, то мы выдаем эту ошибку и возвращаем пользователя на шаг назад.
Для того чтобы наша функция сохранения стала работать нужно в файл admin.goodtimes.php в оператор switch() добавить строки:
1 |
case 'save': |
Теперь откройте адрес http://ваш_сайт/administrator/index.php?option=com_goodtimes&task=add, заполните все поля формы и нажмите кнопку "Сохранить".
На экране вы увидите следующее:
Убедиться что данные сохранены в БД вы можете открыв phpMyAdmin и просмотреть таблицу jos_goodtimes.





Комментарии
saveGoodtime( $option, $task );
break; ! Пункт 7 и 8 надо переработать. Но в Joomla! уже существует класс JTable обеспечивающий функции для работы с базой данных. я так понял свой запрос писать не надо joomla всё сама делает так?
Вот покорпел еще чуток дополнил недостоющий код из стандартного компонента. Кому будет интересно.
(без клиентской части правда.)
http://mydezign.ru/files/com_goodtimes.zip
Вот так должно работать..
У меня почему-то нет привязки меню->создать c http://ваш_сайт/administrator/index.php?option=com_goodtimes&task=add? Я что-то не правильно сделал, или следует дополнить код?
Да согласен, что не описана структура MVC, не стал вдаваться в теорию, я думаю кому нужно тот спросит у гуггла, я думаю он лучше меня объяснит
чтобы по кнопке "Создать" попадать сразу по этой ссылке.
ни один из пунктов меню "показать, скрыть, и т.п." не работают. Точно так же как и "сохранить, применить и т.п."
Ждем продолжения. Действительно хочется теперь увидеть как все то что сохранили из админки отобразить во фронте.
Цитирую Den:
Книги норм
RSS лента комментариев этой записи.