Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
Выдели фрагмент текста с ошибкой или неточностью и нажми Ctrl+Enter!
Выбрать всех пользователей
Показать все опубликованные статьи:
Показать всех пользователей кроме "admin"
В предыдущих выражениях знак звездочки (*) обозначает показывать все столбцы. Теперь если мы хотим показать только email пользователей, выражение будет выглядеть так:
Показать заголовки только опубликованных разделов
Примечание: Указывать (*) несомненно удобно, но на практике запросы начинают использовать больше оперативной памяти, и как следствие производительность начинает падать. Выбирайте только необходимые данные, это упростит вам жизнь в дальнейшем.
Для того чтобы выводить данные в определенном порядке, а не в том как они лежат в базе данных, используем конструкцию "ORDER BY", например сортировка id по возрастанию
или по убыванию id
так же никто не мешает сделать несколько сортировок (в порядке убывания приоритета)
Выведем 10 строк из таблицы jos_content
Для того чтобы чтобы выбрать начиная с 5 записи следующие 20, пишем следующее
MySQL поддерживает логические операторы, например выберем все материалы, старше 20 сентября 2008 года:
Усложним выбор несколькими условиями, кол-во просмотров не более чем 2000 и не меньше 1000:
И по традиции можно использовать скобки, чтобы явно указать приоритет среди сравнений:
До этого мы оперировали только с числовыми типами данных, теперь попробуем с текстом. Из всех пользователей найдем только тех, имя которых начинаются на "a".
Или заканчиваются на "о"
Кроме того есть набор встроенных в MySQL функций. Названия говорят сами за себя
К тому же эти функции можно использовать вместе с группировкой. Подсчитаем кол-во хитов для каждого из раздела, упорядочим по убыванию
Допустим мы хотим использовать в своем запросе поле, которое определено в другой таблице. Например выберем все страницы, которые не выведены на главную
Применяются объединения когда нужно использовать данные более чем из одной таблицы. Выборка имени материала с категорией, таблицы объединены по соответствующим id. Чтобы избежать двусмысленности мы приписываем названия таблиц к имени поля через точку.
Дополнительно используем таблицу с jos_users, чтобы узнать имя автора материала.
Теперь используем все накопленные знания в одном примере
У меня при запросе SELECT * FROM #__yy
выводится почему-то только первый id (хотя должны выводиться все значения таблицы)
сама функция выглядит так:
$db =& JFactory::getDBO();
$query = 'SELECT * FROM #__yy';
$db->setQuery( $query );
$xx = $db->loadResult();
return $xx;
Может здесь нужно цикл добавить?
Вам надо было в предпоследней строке вместо
$xx = $db->loadResult();
вывести
$xx = $db->loadObjectList();
Спасибо большое