Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Модули » Как сделать запрос внутри while?

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


     03.06.2015    Все вопросы » Модули    1888

вопрос
Есть вот такой 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
Юзер

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
Юзер

lproru - 3 июня 2015 23:38 -

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

LazyDev
PHP-developer

LazyDev - 4 июня 2015 07:40 -

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

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

lproru
Юзер

lproru - 4 июня 2015 14:40 -

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

LazyDev
PHP-developer

LazyDev - 4 июня 2015 16:02 -

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

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

lproru
Юзер

lproru - 4 июня 2015 23:14 -

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

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

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

наверх