Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод из базы без цикла
 
 автор: OLi   (18.11.2009 в 01:59)   письмо автору
 
 

Подскажите пожалуйста как вывести например первые 3 статьи в 3 статические таблицы без цикла?

  Ответить  
 
 автор: ols   (18.11.2009 в 03:03)   письмо автору
 
   для: OLi   (18.11.2009 в 01:59)
 

Создать 3 запроса и для каждого вызвать mysql_fetch_assoc

  Ответить  
 
 автор: sim5   (18.11.2009 в 03:59)   письмо автору
 
   для: ols   (18.11.2009 в 03:03)
 

Зачем 3?

  Ответить  
 
 автор: ols   (18.11.2009 в 04:16)   письмо автору
 
   для: sim5   (18.11.2009 в 03:59)
 

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

  Ответить  
 
 автор: sim5   (18.11.2009 в 04:28)   письмо автору
 
   для: ols   (18.11.2009 в 04:16)
 

Ну а зачем три запроса? Запрос это запрос, вывод это вывод. Не делая цикла, вы должны три раза повторить запрос (по вошему разумению), тобишь прописать три строки с запросом. Но коли так, то уж лучше один запрос, и три mysql_fetch_assoc к результату его.

  Ответить  
 
 автор: ols   (18.11.2009 в 04:46)   письмо автору
 
   для: sim5   (18.11.2009 в 04:28)
 

Ну любите Вы к словам придиратьсся :)

  Ответить  
 
 автор: sim5   (18.11.2009 в 04:53)   письмо автору
 
   для: ols   (18.11.2009 в 04:46)
 

Да я ни к чему не придираюсь. Я к тому, что три запроса, это слишком вольготно ;-)

  Ответить  
 
 автор: neadekvat   (18.11.2009 в 15:20)   письмо автору
 
   для: ols   (18.11.2009 в 04:46)
 

Это совсем не придирка
Запрос - это так:
$query = mysql_query("SELECT * FROM `table`");
А теперь представьте, если автор сделает то, как вы посоветовали:
$arr = mysql_fetch_assoc ( mysql_query("SELECT * FROM `table`") );
echo $arr['name'];
$arr2 = mysql_fetch_assoc ( mysql_query("SELECT * FROM `table`") );
echo $arr2['name'];
$arr3 = mysql_fetch_assoc ( mysql_query("SELECT * FROM `table`") );
echo $arr3['name'];

А вот так надо (без цикла)
$query = mysql_query("SELECT * FROM `table`");
$arr = mysql_fetch_assoc ( $query );
echo $arr['name'];
$arr = mysql_fetch_assoc ( $query );
echo $arr['name'];
$arr = mysql_fetch_assoc ( $query );
echo $arr['name'];

Либо я сейчас в танке и жестоко ошибаюсь, либо в танке кто-то другой, потому объясню.
В первом случаи будут показаны три одна одинаковые записи.
Во втором же будут показаны три разные записи (если они в бд не дублируются, конечно)

  Ответить  
 
 автор: ols   (18.11.2009 в 18:15)   письмо автору
 
   для: neadekvat   (18.11.2009 в 15:20)
 

Я не спорю, и соглашаюсь с sim5. Я это к тому что во всяком случае в памяти процессора будет задействовано 3 запроса. И читайте внимательно мои сообщения. В них нигде не указано о том, что я говорил про одинаковые запросы. Где Вы видели, что я советовал автору выше приведенный Вами код? Вы чепуху написали какую-то, да еще говорите, что я ее советовал. Я бы представил нормальный результат решения задачи в таком случае, если бы Вы позаботились о лимите.

  Ответить  
 
 автор: oli   (02.01.2010 в 19:59)   письмо автору
 
   для: ols   (18.11.2009 в 18:15)
 

Других способов нет?

  Ответить  
 
 автор: kosta_in_net   (04.01.2010 в 00:52)   письмо автору
 
   для: oli   (02.01.2010 в 19:59)
 

Нет

  Ответить  
 
 автор: Trianon   (04.01.2010 в 01:33)   письмо автору
 
   для: kosta_in_net   (04.01.2010 в 00:52)
 

Есть.

GROUP_CONCAT()

  Ответить  
 
 автор: kosta_in_net   (07.01.2010 в 13:19)   письмо автору
 
   для: Trianon   (04.01.2010 в 01:33)
 

в моем справочнике функция отсутствует (sql 4.0). Нашел тут http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat Похоже, это не совсем то, что требуется человеку

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования