"С миру по нитке..." Форум

"С миру по нитке..." Форум (http://forum.vika-plus.ru/index.php)
-   Копилка опыта (http://forum.vika-plus.ru/forumdisplay.php?f=24)
-   -   PHP: Работа с базой данных из joomla (http://forum.vika-plus.ru/showthread.php?t=1161)

alagor 11.01.2016 21:53

PHP: Работа с базой данных из joomla
 
PHP: Работа с базой данных из joomla


Примеры как joomla взаимодействует с базой данных и что при этом используется!

  1. Создается объект который полностью оснащен всеми нужными нам функциями для работы с базой данных и имя емуJFactory::getDBO (пример $db = JFactory::getDBO;);
  2. Формируется SQL запрос (обычно это делают в переменной, пример: $query = "SELECT * FROM #__content");
  3. Делаем запрос в базу данных при помощи спец. функции которую вкл. наш объект - setQuery() (пример: $db->setQuery($query));
  4. Выгружаем результат работы запроса при помощи спец. функций: 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&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">JFactory</span><span style="color: #007700">::</span><span style="color: #0000BB">getDBO</span><span style="color: #007700">;&nbsp; </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 код:

$db JFactory::getDBO

PHP код:

[LEFT]$query "SELECT * FROM #__content";
$db->setQuery($query);
$result $db->loadAssoc();
var_dump($result);
echo 
$result['id'];[/LEFT


- $db->loadAssocList() - возвращает все записи в таблице в виде массива ассоциативных масива.


Пример работы:




PHP код:

$db JFactory::getDBO


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 код:

$db JFactory::getDBO


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 код:

$db JFactory::getDBO


PHP код:

[LEFT][LEFT]$query "SELECT * FROM #__content";
$db->setQuery($query);
$result $db->loadObject();
var_dump($result);
echo 
$result->id;
[/
LEFT][/LEFT


- $db->loadObjectList() - возвращает все записи в таблице в виде массива с объектами.

Пример работы:
PHP код:

$db JFactory::getDBO



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 код:

$db JFactory::getDBO


PHP код:

[LEFT][LEFT]$query "SELECT * FROM #__content";
$db->setQuery($query);
$result $db->loadObjectList();
echo 
$result;[/LEFT][/LEFT

[/LEFT]


Часовой пояс GMT +5, время: 15:50.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot