Все разделы | CMS Joomla 2.5 | Общее | PHP | Javascript + jQuery
09 августа 2014
Рассмотрим самые простые и в то же время часто используемые запросы, такие как SELECT, UPDATE, INSERT INTO.
В примере ниже выполним подключение к базе данных и выполним простой запрос.
$db = JFactory::getDBO();
$db->setQuery("SELECT * FROM #__example_table WHERE id = 999999");
Чтобы сделать запрос более гибким в системе управления предусмотрена замена префикса, который обычно присутствует у всех таблиц Joomla после установки. Замена происходит на "#__" что расценивается как префикс таблицы записанный в файле конфигурации. Система замены префикса на данный символ является еще и защитным ключем выполнения запроса. Конечно, вместо "#__" можно записать префикс таблицы, а если у таблицы его вовсе нет то и вообще его убрать, данное не будет ошибкой, но в целях безопасности и удобства лучше производить замену префикса.
Затем сделаем запрос. Например, нам нужно вывести контактную информацию нашего предприятия, она хранится в таблице jos_com_contact. Нужно обратить внимание что приставка jos - это префикс нашей таблицы, который прописан в файле конфигурации и он может быть иным.
$sql = "SELECT * FROM `".$dbprefix."com_contact` WHERE `id`=1"; $items = mysql_query($sql, $db); $item = mysql_fetch_object($items);
В данном случае в переменной $item содержится массив данных контакта с id=1 из таблицы com_contact. Для вывода информации этого контакта необходимо использовать ячейки таблицы, к которой было обращение. Например, выведем на экран имя контакта.
echo $item->name;
При вызове данной функции будет выведено на экран имя контакта с id=1. Аналогичным способом можно вывести всю информацию содержащуюся в таблице com_contact опредененного контакта.
UPDATE запрос необходим для выполнения изменения данных в таблице базы данных MySQL веб-сайта. Прежде чем выполнять данный запрос необходимо сделать подключение к базе данных веб-сайта, он описан выше. Обратите внимание если было выполнено подключение к базе данных ранее подключаться по-новой уже не нужно. Например, сделаем изменение имя контакта с id=1.
$sql = "UPDATE `".$dbprefix."com_contact` SET `name`='Новое имя контакта' WHERE `id`=1"; mysql_query($sql, $db);
После выполнения данного запроса в таблице com_contact у контакта с id=1 изменится имя на Новое имя контакта.
INSERT INTO позволяет производить вставку новой строки в определенную таблицу.