"С миру по нитке..." Форум
Старый 11.01.2016, 21:53   #1
alagor
Сам себе режиссер
 
Аватар для alagor
 
Регистрация: 31.03.2010
Адрес: Россия
Сообщений: 1,647
Сказал(а) спасибо: 20
Поблагодарили 81 раз(а) в 74 сообщениях
Записей в дневнике: 2
По умолчанию 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" dir="ltr" style="
        margin: 0px;
        padding: 6px;
        border: 1px inset;
        width: 640px;
        height: 34px;
        text-align: left;
        overflow: auto"
>
        <
code style="white-space:nowrap">
            <!-- 
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 -->
        </
code>
    </
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]
__________________
Видео-канал "Вот так вот и живем"
Видео-канал "С миру по нитке... видео-ответы Николая Левашова на вопросы читателей его книг
Левашов Н.В. - книги, которые меняют мировоззрение...
alagor вне форума   Ответить с цитированием
   
Спонсор

Ответ

Метки
getNumRows, Joomla, loadObject, loadObjectList, MySQL, PHP, программирование, скрипты


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


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


Ворота - рольставни
Ворота автоматические гаражные секционные, рольставни, шлагбаумы купить в Тольятти
Рольставни и рольворота;
Шлагбаумы, Болларды, парковки
Автоматика для ворот:
- пульты (радиобрелки);
- привода (двигатели);
- фотоэлементы;
Ворота:
- секционные, подъемные;
- уличные: сдвижные, распашные;
- промышленные, скоростные;
- противопожарные;
Звоните в Тольятти:
8-962-614-89-40


Косметика Мирра - натуральная и безопасная. Приходи и стань красивой!

Туалетные кабины.
Зимние теплые биотуалеты
Биотуалеты: туалетная кабина (купить в Тольятти) НОВИНКА!
Туалетная кабина
которая не
замерзнет зимой!
Биотуалеты: Зимняя теплая туалетная кабина
тел: 8-962-614-89-40


ЛУЧШИЙ ХОСТИНГ!
HandyHost.ru - лучший на сегодняшний день хостинг с лучшей тех.поддержкой!


ПО, ЕГЭ и ОГЭ онлайн"
Школьная аттестация онлайн для детей на СО! Промежуточная аттестация, ЕГЭ и ОГЭ на семейном обучении
Мирра Люкс натуральная косметика РуАН – Русское Агентство Новостей Новости Русского Мира Любые работы по дереву в Тольятти и Самарской области - браширование, наличники, двери в баню, шлифовка сруба, деревянные ставни, крыша для срубовых домов и т..д.

  Яндекс.Метрика
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot