[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: запросы в цикле, насколько это нормально?
Hugo_O
необходимо делать запросы в цикле, чтобы подменять айди на ники
типа того SELECT login FROM auth WHERE id=''
нормально делать такие запросы в цикле с 10-15 повторениями?

или лучше сначала узнать кол-во необходимых подмен, засунуть все в массив и в цикле уже забирать из массива, а не с помощью запросов.

второй вариант более геморройный, поэтому если первый вариант - нормальный, то все ок!!



Спустя 2 минуты, 53 секунды (17.06.2010 - 13:27) Nikitian написал(а):
Никогда не делайте запросы в циклах, если один запрос получается быстрее суммы!
Тут проще сделать так. В массив закинуть все id и сделать запрос:

$result=mysql_query('select id,login from auth where id in ('.implode(',',$ids).') limit '.sizeof($ids));

Спустя 1 день, 1 час, 28 минут, 32 секунды (18.06.2010 - 14:56) Hugo_O написал(а):
Nikitian
в моем случаи подошел JOIN!!! спс!

Спустя 5 минут, 27 секунд (18.06.2010 - 15:01) SlavaFr написал(а):
Цитата (Hugo_O @ 18.06.2010 - 11:56)
Nikitian
в моем случаи подошел JOIN!!! спс!

это как?

Спустя 6 минут, 22 секунды (18.06.2010 - 15:08) Hugo_O написал(а):
SlavaFr

полностью запрос написать?))
просто выделил все нужные поля в двух таблицах, в этом же запросе объединил идентичности этих таблиц (INNER JOIN) и поставил 2 нужных условия и получилось как надо!!!
По правде говоря я таких сложных ДЛЯ СЕБЯ ЗАПРОСОВ до этого момента еще не делал)))))))

Спустя 5 минут, 1 секунда (18.06.2010 - 15:13) SlavaFr написал(а):
@Hugo_O давай запрос, может оптимируем smile.gif

Спустя 6 минут, 48 секунд (18.06.2010 - 15:20) Hugo_O написал(а):
SlavaFr
$resultcomments=mysql_query("SELECT auth.login, auth.status, auth.avatar, mess.* FROM auth  INNER JOIN mess 
ON auth.id=mess.userid AND mess.songid='
$songid' ORDER BY mess.id DESC LIMIT $length ");

$comments=mysql_fetch_assoc($resultcomments);

Спустя 23 минуты, 59 секунд (18.06.2010 - 15:44) SlavaFr написал(а):
теперь ясно.
ты наверно вместо join хотел все auth.login и auth.id в цикле опросить.

Просто судя по твоему в начале поставленному вопроссу мы исходили из того, что ты в начале в техте id находиш, а потом к каждому id select делаеш, и исходя из этого @Nikitian подкинул тебе подходящее решение проблемы.

Спустя 4 минуты, 17 секунд (18.06.2010 - 15:48) Hugo_O написал(а):
SlavaFr
ага, сначала так и написал, сразу же понял, что так не правильно и зашел на форум))
на самом деле у меня не было конкретного варианта, как лучше подменить айди, я открыл свою тетрадку старенькую, где раньше записывал все основное по нужным языкам, и наткнулся на JOIN))

Спустя 7 минут, 52 секунды (18.06.2010 - 15:56) SlavaFr написал(а):
хорошо, что тетрадки не выкидываеш smile.gif

Спустя 2 дня, 3 часа, 49 минут, 2 секунды (20.06.2010 - 19:45) igor717 написал(а):
Всем привет. Заинтересовал вопрос.

Понятно, если две таблицы join связать их можно. А если таблицы 3 или 4, связанные цепочкой (2-я с 1-ой, 3-я со 2-ой и т.д.). Это реально сделать в один запрос?

Спустя 30 минут, 46 секунд (20.06.2010 - 20:16) SlavaFr написал(а):
@igor717 да конечно можно с многими таблицами JOIN делать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.