FL.ru – фриланс сайт удаленной работы №1. Поиск удаленной работы, фрилансеры.

Работаем с базой данных (БД) на Joomla 1.5.x. Продолжение

Категории: Joomla

Начало здесь

Что такое неассоциативный массив – это массив с числовым индексом от 0 до n-1, где n — количество элементов от нуля и до бесконечности. Практически это выполнение функции php — mysql_fetch_row.

< ?php //Представитель класса $db=&JFactory::getDBO(); //Запрос к БД, выбор первой статьи $q='SELECT id,title FROM jos_content ORDER BY id ASC LIMIT 1 '; //Установка запроса в представитель класса работы с БД $db->setQuery($q);
//После выполнения запроса получаем данные
$data_row=$db->loadRow();
//Возврат результата, массив из двух элементов ID и TITLE
echo '

';
print_r($data_row);
echo '

';
?>

В результате получим:

1
2
3
4
5
Array
(
    [0] => 1
    [1] => Welcome to Joomla!
)

Единичное значение из БД

Если появляется необходимость получить из базы данных единичное значение, то применим следующий метод:

< ?php //Представитель класса $db=&JFactory::getDBO(); //Запрос к БД, выбор первой статьи $query='SELECT title FROM jos_content ORDER BY id ASC LIMIT 1 '; //Установка запроса в представитель класса работы с БД $db->setQuery($query);
//После выполнения запроса получаем данные
$datavalue=$db->loadResult();
//Возврат результата, один элемент TITLE
echo '

';
print_r($datavalue);
echo '

';
?>

Как видите из кода, методы почти не отличаются, все дело только в наличии массива.

Как загрузить данные единичной записи таблицы БД в массив

Можно получить массив, состоящий из полей записи

< ?php //Представитель класса $db=&JFactory::getDBO(); //Запрос к БД, выбор первой статьи $q='SELECT title FROM jos_content ORDER BY id ASC LIMIT 1 '; //Установка запроса в представитель класса работы с БД $db->setQuery($q);
//После выполнения запроса получаем данные
$data_array=$db->loadResultArray();
//Возврат результата, массив из двух элементов ID и TITLE
echo '

';
print_r($data_array);
echo '

';
?>

В результате получаем:

1
2
3
4
Array
(
    [0] => Welcome to Joomla!
)

Как загрузить данные единичной записи таблицы БД в объект

При помощи данного метода можно получить объект, у которого к свойствам будут относиться поля записи


< ?php //Представитель класса $db=&JFactory::getDBO(); //Запрос к БД, выбор первой статьи $query='SELECT * FROM jos_content ORDER BY id ASC LIMIT 1'; //Установка запроса в представитель класса работы с БД $db->setQuery($query);
//Выполнение запроса
$row = $db->loadObject();
//Возврат результата
echo '

';
print_r($row);
echo '

';
?>

Получение ассоциативного списка записей

Теперь попробуем получить ассоциативный список записей, так как не всегда удобно работать с полным списком объектов. По определению ассоциативный массив – это абстрактный тип данных, то есть путь к хранилищу данных, который позволяет хранить информационные пары вида «ключ, значение» и который поддерживает функции добавления ключа и значения, а также функции поиска и удаления пары по запросу ключа: INSERT – ключ и значение, FIND – ключ, REMOVE – ключ. Устанавливается как данность, что ассоциативный массив не может хранить несколько пар с одинаковыми ключами. Метод получения ассоциативного массива следующий:

< ?php //Представитель класса $db=&JFactory::getDBO(); //Запрос к БД, выбор первых десяти статей $query='SELECT id,title FROM jos_content ORDER BY id ASC LIMIT 10 '; //Установка запроса в представитель класса работы с БД $db->setQuery($query);
//Выполнение запроса и получаем данные списком объектов
$data_rows_assoc_list=$db->loadAssocList();
//Возврат результата
echo '

';
print_r($data_rows_assoc_list);
echo '

';
?>

Как получить список объектов

Часто для расширений, использующихся в Joomla 1.5.х, возникает необходимость запроса к БД по поводу вставки данных или их получения. Данный метод позволит получать простой список объектов.

< ?php //Представитель класса $db=&JFactory::getDBO(); //Запрос к БД $q='SHOW TABLES'; //Установка запроса в представитель класса работы с БД $db->setQuery($q);
//Выполнение запроса и получаем данные в качестве списка
$data_object_list=$db->loadObjectList();
//Распечатка списка таблиц
echo '

';
print_r($data_object_list);
echo '

';
?>




Подпишитесь на рассылку блога
max1net.com:
Уже подписались человек
Укажите свой e-mail