PHP: Работа с базой данных из joomla
PHP: Работа с базой данных из joomla
Примеры как joomla взаимодействует с базой данных и что при этом используется!
- Создается объект который полностью оснащен всеми нужными нам функциями для работы с базой данных и имя емуJFactory::getDBO (пример $db = JFactory::getDBO;);
Формируется SQL запрос (обычно это делают в переменной, пример: $query = "SELECT * FROM #__content");
Делаем запрос в базу данных при помощи спец. функции которую вкл. наш объект - setQuery() (пример: $db->setQuery($query));
Выгружаем результат работы запроса при помощи спец. функций: loadResult(), loadAssoc(), loadAssocList(), loadObject(), loadObjectList(), getNumRows();
PHP код:
[LEFT]$query = "SELECT title FROM #__content WHERE id='1'"; $db->setQuery($query); $result = $db->loadResult(); echo $result;<div align="left">Подробнее про эти функции: <div align="left">- <b>$db->loadResult()</b> - возвращает строку</div> <div align="left">Пример работы:</div> <div align="left"><div style="margin:20px; margin-top:5px">
<div class="smallfont" style="margin-bottom:2px">PHP код:</div>
<div class="alt2">
<hr />
<code style="white-space:nowrap">
<div dir="ltr" style="text-align:left;">
<!-- php buffer start --><code><span style="color: #000000"> <span style="color: #0000BB">$db </span><span style="color: #007700">= </span><span style="color: #0000BB">JFactory</span><span style="color: #007700">::</span><span style="color: #0000BB">getDBO</span><span style="color: #007700">;
</span><span style="color: #0000BB"></span> </span> </code><!-- php buffer end -->
</div>
</code>
<hr />
</div>
</div></div></div>
- $db->loadAssoc() - возвращает первую запись таблици в виде ассоциативного масива, к элементам массива можно обращаться просто как к в обычном массиве то есть $array['key'], где key - это ключ элемента массива. К слову, существует удобный плагин для браузера "Опера" он предназначен для разработчиков приложений и в нем можно быстро протестировать любой SQL запрос.
Пример работы:
PHP код:
[LEFT]$query = "SELECT * FROM #__content"; $db->setQuery($query); $result = $db->loadAssoc(); var_dump($result); echo $result['id'];[/LEFT]
- $db->loadAssocList() - возвращает все записи в таблице в виде массива ассоциативных масива.
Пример работы:
PHP код:
[LEFT][LEFT]$query = "SELECT * FROM #__content"; $db->setQuery($query); $result = $db->loadAssocList(); var_dump($result); $result_1 = $result[0]; echo $result_1['id'];[/LEFT][/LEFT]
- $db->loadObject() - возвращает первую запись в таблице в виде объекта, к элементам объекта можно обратиться таким способом $result->key, где key - это ключ элемента.
Пример работы:
PHP код:
[LEFT][LEFT]$query = "SELECT * FROM #__content"; $db->setQuery($query); $result = $db->loadObject(); var_dump($result); echo $result->id; [/LEFT][/LEFT]
- $db->loadObject() - возвращает первую запись в таблице в виде объекта, к элементам объекта можно обратиться таким способом $result->key, где key - это ключ элемента.
Пример работы:
PHP код:
[LEFT][LEFT]$query = "SELECT * FROM #__content"; $db->setQuery($query); $result = $db->loadObject(); var_dump($result); echo $result->id; [/LEFT][/LEFT]
- $db->loadObjectList() - возвращает все записи в таблице в виде массива с объектами.
PHP код:
[LEFT]$query = "SELECT * FROM #__content"; $db->setQuery($query); $result = $db->loadObjectList(); $result_1 = $result[0]; echo $result_1->id;[/LEFT]
- $db->getNumRows() - возвращает количество записей в таблице при выполнение запроса выборки SELECT.
PHP код:
[LEFT][LEFT]$query = "SELECT * FROM #__content"; $db->setQuery($query); $result = $db->loadObjectList(); echo $result;[/LEFT][/LEFT]
[/LEFT]
|