Комментарии

Возврат результатов обработки запроса
( 0 Голосов )

 

После обработки запросов по команде SELECT данные возвращаются из таблицы в строках и столбцах. В зависимости от конкретного запроса может быть возвращено одно значение, одна строка или же несколько строк. В классе JDatabase предоставляется целый ряд методов для выборки данных из запроса по команде SELECT. Наиболее употребительные методы, возвращающие результаты обработки запросов по команде SELECT.

Для загрузки результатов обработки запросов в Joomla чаще всего применяются методы loadObjectList () и loadResult (). В частности, метод loadObjectList () вызывается в том случае, если по запросу из таблицы может быть возвращено несколько строк и столбцов. Возвращаемым типом в данном случае оказывается массив, состоящий из 0-п стандартных объектов. Поля стандартных объектов содержат имена столбцов и значения из этих столбцов. Для того чтобы воспользоваться в коде РНР значением, возвращаемым данным методом, можно организовать цикл f oreach, как показано в приведенном ниже примере.

$data = $dbo->loadObjectList(); Ioreach ($data as $row) {
$title = $row->get('title');
$id = $row->get('id') ;

В этом примере кода переменная $row содержит стандартный объект, представляющий одну строку таблицы из набора данных, возвращаемых по запросу. Для извлечения из этой строки отдельных столбцов с данными по имени столбца, указанного в запросе, можно вызвать метод get () из стандартного объекта. Метод loadResult () обычно применяется в тех случаях, когда по запросу предполагается возвратить только одно значение (одну строку или столбец), например, название единственной категории. И в этом случае возвращаемое значение просто присваивается единственной переменной.

Метод loadObject () действует аналогично методу loadObjectList (), за исключением того, что он возвращает по запросу лишь первую строку из таблицы. Он применяется в тех случаях, когда по запросу предполагается получить только одну строку таблицы или же когда нужна лишь первая ее строка. В итоге возвращается стандартный объект, поля которого опять же содержат имена столбцов и значения из этих столбцов.

Метод loadAssocList () очень похож на метод loadObjectList (). Он возвращает массив, каждый элемент которого является ассоциативным массивом, содержащим данные из одной строки таблицы. В приведенном ниже примере кода демонстрируется, каким образом обрабатываются результаты, возвращаемые данным методом.

$data = $dbo->loadAssocList (); foreach   ($data as  $row)    {
$title = $row['title'];
$id =  $row['id'];

Этот код похож на приведенный выше код обработки результатов, возвращаемых методом loadAssocList (), за исключением того, что доступ к каждой строке осуществляется в нем как к ассоциативному массиву, а не как к стандартному объекту.

Метод loadAssoc () подобен методу loadObject (). Оба метода возвращают по запросу только первую строку таблицы. Но метод loadAssoc () возвращает ее в виде ассоциативного массива.

Метод loadRowList () похож на метод loadAssocList (), за исключением того, что он возвращает индексированный, а не ассоциативный массив. В приведенном ниже примере кода демонстрируется, каким образом обрабатываются результаты, возвращаемые данным методом.

$data = $dbo->loadRowList(); foreach ($data as $row) {
$first_column = $row[0];
$second_column = $row[l];

Метод loadColumn () позволяет обрабатывать данные из одного столбца, представленные в виде индексированного массива. Он обычно применяется в тех случаях, когда запрос содержит несколько строк по одному столбцу в каждой строке. Этот метод возвращает индексированный массив, где каждый элемент содержит данные из столбца, относящегося к строке с заданным значением индекса. Так, если по запросу из таблицы возвращаются три строки, первый элемент массива $data [0] будет содержать значение из первой строки, второй элемент массива $data [ 1 ] — значение из второй строки, а третий элемент массива $data [ 2 ] — значение из третьей строки таблицы.

 


Понравился материал? Пригодилась информация? Плюсани в социалки!


 
Похожие новости
Добавить комментарий


Защитный код