0 / 0 / 0
Регистрация: 02.11.2011
Сообщений: 37
1

Один запрос для вывода вместо нескольких

28.03.2018, 17:51. Показов 662. Ответов 5
Метки нет (Все метки)

Здравствуйте.
Пример таблицы в phpmyadmin
id title group_id
1 Кот 0
2 Рысь 1
3 Пес 0
4 Хомяк0
5 Лев 1

Тут group_id=0 - домашние, group_id=1 - дикие
Хочу вывести на странице название групп (домашние/дикие), под каждой из которых выводятся животные, типа:
Домашние:
Кот, Пес, Хомяк
Дикие:
Рысь, Лев

Я так понимаю. надо сделать 2 запроса:
PHP
1
2
3
4
$ss=mysqli_query($sql, "SELECT * FROM table WHERE group_id=0");
while($rr=mysqli_fetch_array($ss)){
echo $rr['title'];
}
и
PHP
1
2
3
4
$ss=mysqli_query($sql, "SELECT * FROM table WHERE group_id=1");
while($rr=mysqli_fetch_array($ss)){
echo $rr['title'];
}
Можно ли обойтись одним запросом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.03.2018, 17:51
Ответы с готовыми решениями:

Создание запроса для отчета сведение нескольких запросов в один или сложный запрос с объединением
Здравствуйте! Очень надеюсь на помощь профессионалов! Есть excelевская таблица с множеством ...

Цикл выполняется один раз вместо нескольких
Есть папка из 354 файлов,нужно,чтобы осталось 299 void Data::renewFiles() { QDir dir; ...

Цикл выполняется один раз вместо нескольких
Есть папка с 354 файлами Нужно,чтобы стало 299 void Data::renewFiles() { QDir dir; ...

Один большой динамический массив вместо нескольких меньшего размера
Уважаемые форумчане, Прошу помочь советом. Интересует ответы на вопросы: Возможно ли? Если...

5
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
28.03.2018, 21:35 2
UNION Вроде
SQL
1
$query = ("SELECT * FROM `table1` WHERE group_id='0' UNION (SELECT * FROM `table2` WHERE group_id='1')");
Добавлено через 6 минут
или как вариант)))
PHP
1
2
3
4
5
6
$ss=mysqli_query($sql, "SELECT * FROM table );
 
$row = musqli_query($ss);
 
if($ss['group_id']=='0') {echo $rr['title'];}
if($ss['group_id']=='1') {echo $rr['title'];}
0
Особый статус
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
28.03.2018, 22:02 3
Наверное еще надо бы ограничить
SQL
1
SELECT * FROM `table1` WHERE group_id=0 OR group_id=1
0
209 / 191 / 49
Регистрация: 15.03.2016
Сообщений: 1,205
28.03.2018, 22:03 4
в постгре можно через массивы и ф-и с массивами
в мускуле разве что процедуру писать
0
767 / 323 / 157
Регистрация: 26.05.2016
Сообщений: 2,127
28.03.2018, 22:20 5
Цитата Сообщение от FloppyDisc Посмотреть сообщение
SELECT * FROM `table1` WHERE group_id=0 OR group_id=1
если вы про мой код - то не выйдет
лучше через условия ограничивать
0
Особый статус
623 / 221 / 164
Регистрация: 18.11.2015
Сообщений: 1,086
28.03.2018, 22:34 6
нет, я имею ввиду ограничить набор данных при выборке)
Цитата Сообщение от andyyy Посмотреть сообщение
лучше через условия ограничивать
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.03.2018, 22:34
Помогаю со студенческими работами здесь

В односвязный список записывается только один элемент вместо нескольких
Мне нужно, чтобы в односвязный список записывалось сразу несколько элементов, но вместо этого...

Один запрос к базе вместо 4
Здравствуйте. Помогите решить проблемку, хотя наврятли она решима но всетки может есть решение....

Как использовать один запрос вместо двух?
В CMS есть различные типы внутренних объектов. У каждого объекта есть основные поля, общие для...

Укомплектовать запрос в один. Запрос маленький проблема для знающего на 30 сек
Всем привет. Возможно кому то для поднятия настроения. Как укомплектовать такой запрос в один ...

Настройка вывода нуля вместо игнорирования вывода отсутствующих запросов
Доброго всем дня! Есть скрипт, который выводит дату, далее через пробел час суток и в другом...

Как сделать цикл для вывода из нескольких файлов?
TIniFile *ini1 = new TIniFile("C:\\Documents and Settings\\user\\Мои...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru