Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Выборка из таблицы без цикла
Форумы портала PHP.SU » » Работа с СУБД » Выборка из таблицы без цикла

Страниц (1): [1]
 

1. byfahrenheit - 19 Сентября, 2011 - 20:56:28 - перейти к сообщению
Здравствуйте.
Возможно подобный вопрос уже задавался, но ответа не нашел.
В общем надо сделать выбору из БД, без использования циклов.
Для примера есть код:
PHP:
скопировать код в буфер обмена
  1.  
  2. ......................
  3. // Записать запрос в переменную
  4. $query = "SELECT * FROM books NATURAL JOIN authors";
  5. // Исполнить запрос
  6. $result = mysql_query( $query );
  7. if (!$result)
  8. {
  9. die("Невозможно исполнить запрос к базе данных: <br />". mysql_error());
  10. }
  11. // Получить и отобразить результаты
  12. while ($result_row = mysql_fetch_row(($result)))
  13. {
  14. // echo 'Название: '.$result_row[1] . '<br />';
  15. echo Title: '.$result_row[1] . '<br />';
  16. // echo 'Автор: '.$result_row[4] . '<br /> ';
  17. echo 'Author: '.$result_row[4] . '<br /> ';
  18. // echo 'Страниц: '.$result_row[2] . '<br /><br />';
  19. echo 'Pages: '.$result_row[2] . '<br /><br />';
  20. }
  21. // Закрыть соединение
  22. mysql_close($connection);
  23. ?>

который выведет следующие:
Title: Linux in a Nutshell<br />Author: Ellen Siever<br />Pages: 476<br />
<br />Title: Linux in a Nutshell<br />Author: Aaron Weber<br />Pages: 476<br
/>
<br />Title: Classic Shell Scripting<br>Author: Arnold Robbins<br />Pages:
256<br />
<br />Title: Classic Shell Scripting<br />Author: Nelson H.F. Beebe<br />Pages:
256<br /><br />

Нужно добиться того же результата, но без использования цикла

т.к. в моем случае нужно будет вывести от 5 до 10 строк, получится что запрос обработается от 5 до 10 раз

Заранее признателен за ответ.
2. LIME - 19 Сентября, 2011 - 21:20:18 - перейти к сообщению
byfahrenheit пишет:
Нужно добиться того же результата, но без использования цикла
если поясните причину такой экзотитки может и поможет кто
3. byfahrenheit - 19 Сентября, 2011 - 21:30:37 - перейти к сообщению
Как-бы я написал:
Цитата:
т.к. в моем случае нужно будет вывести от 5 до 10 строк, получится что запрос обработается от 5 до 10 раз


Ну а дальше понятно - как минимум человек 10 будут находится на странице со скриптом, и время от времени перезагружать, + ко всему, будут еще и другие запросы на странице подобного типа. вот и хочу понять как минимизировать запросы к бд
4. caballero - 19 Сентября, 2011 - 23:27:58 - перейти к сообщению
Не очень понятно в чем проблемма выбрать эти строки из базы олним запросом
5. OrmaJever - 19 Сентября, 2011 - 23:30:16 - перейти к сообщению
byfahrenheit пишет:
т.к. в моем случае нужно будет вывести от 5 до 10 строк, получится что запрос обработается от 5 до 10 раз

а причём цыкл к этому запросу? Запрос один, а цыкл обрабатывает результат запроса.
6. byfahrenheit - 20 Сентября, 2011 - 14:52:05 - перейти к сообщению
Спасибо. Уже понял в чем ошибался) Просто читал что нельзя вставлять запрос в цикл, так почему-то взял себе в голову, что в данном случае запрос в цикле...
Спасибо за ответ)
7. caballero - 20 Сентября, 2011 - 15:01:04 - перейти к сообщению
Почему нельзя? Иногда другого способа нет , все зависит от ситуации
8. byfahrenheit - 20 Сентября, 2011 - 21:07:43 - перейти к сообщению
Не правильно выразился: "не рекомендуется".. =)

 

Powered by ExBB FM 1.0 RC1