Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Модули Как сделать запрос внутри while?

Как сделать запрос внутри while?


     03.06.2015    Модули    888

вопрос
Есть вот такой while:
while ( $related = $db->get_row() ) {
                 ..............................
}

и у меня есть вот такой запрос в бд:
$icon=$db->super_query("SELECT icon FROM " . PREFIX . "_usersoft_file WHERE news_id='".$related['id']."' AND moderation='1' AND type='application' AND zip='0' ORDER BY versioncode DESC LIMIT 5");        


Вопрос. Как мне его выполнить внутри while ну или что то вроде...

Ответил: lproru


Победил.
Нашел
$db->query(
для этого while и добавил к нему нужный мне запрос.

Комментарии пользователей (6)

FastFud
50

1599 | 588

FastFud - 3 июня 2015 20:34 - Юзер

В цикле:
while ( $related = $db->get_row() ) {
    $icon=$db->super_query("SELECT icon, versioncode  FROM " . PREFIX . "_usersoft_file WHERE news_id='{$related['id']}' AND moderation='1' AND type='application' AND zip='0' ORDER BY versioncode DESC LIMIT 5");
    echo $icon['icon'];
}
Не советую делать запрос в цикле. Есть и другие способы решить задачу.
1. Попробовать обобъединить этот запрос с уже существующим запросом который выводит похожие новости.
2. Попробовать так, перед циклом:
$usersoftFile = $db->super_query("SELECT icon, versioncode, news_id FROM " . PREFIX . "_usersoft_file WHERE moderation='1' AND type='application' AND zip='0' ORDER BY versioncode DESC LIMIT 5");       
$userSoft = array();
foreach($usersoftFile as $soft){
    $userSoft[$soft['news_id']] = $soft['icon'];
}
В цикле
$tpl->set('{icon}', $userSoft[$related['id']])
P.S. сам не тестировал - оставляю вам )

lproru
5

lproru - 3 июня 2015 23:38 - Юзер

FastFud,
Не.
Второй вариант не работает, а первый я и сам пробовал - так иконку дает, но тогда в цикле выдается лишь 1 запись...

Gameer
226

1124 | 396

Gameer - 4 июня 2015 07:40 - Эксперт

lproru, потому что вместо super_query нужно использовать query

Истина в противоречии.​

lproru
5

lproru - 4 июня 2015 14:40 - Юзер

Gameer,
Тоже не работает.

Gameer
226

1124 | 396

Gameer - 4 июня 2015 16:02 - Эксперт

lproru, вы ответили тоже самое что и я написал.

Истина в противоречии.​

lproru
5

lproru - 4 июня 2015 23:14 - Юзер

Но не много иначе

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы