Не нравятся результаты поиска? Попробуйте другой поиск!

Цикл while tpl->set


     29.07.2014    Общие вопросы по PHP    1492

вопрос
Здравствуйте. Недавно появился вопрос:
Есть скрипт, общий вид таковой:
<select>{options}</select>

Сам тег {options} записывается вот так.
$opt = $db->query( "SELECT * FROM " . PREFIX . "_papapa");
    if($db->num_rows($opt)>0){
        while($row = $db->get_row($opt)){
            $option = "<option>" . $row['for'] . "</option>";
            $tpl->set('{options}', $option);
        }
    }

Знаю что можно тупо зациклить шаблон ($tpl->load_template();). Но мне не совсем это нужно.
При такой записи {options} выводит только один результат. Пытался с самого начала подготовить переменную, но результата не дало. ($option = '';)
Как же зациклить этот вывод?

Ответил: Twelvee


Проблему решил.

$opt = $db->query( "SELECT * FROM " . PREFIX . "_otzivi_for" );

$cat_list = array();

while( $cats = $db->get_array($opt) ) {
    $cat = "<option>" . $cats['for'] . "</option>";
    $cat_list[] = $cat;
}

$tpl->set( '{options}', ( count( $cat_list ) ) ? implode( $cat_list ) : "" );

Спасибо всем за ответы)

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

FastFud
50

1599 | 588

FastFud - 29 июля 2014 10:50 - Юзер

if($db->num_rows($opt)>0){
        while($row = $db->get_row($opt)){
            $option .= "<option>" . $row['for'] . "</option>";
        } $tpl->set('{options}', $option);
    }

Twelvee
15

124 | 25

Twelvee - 29 июля 2014 10:58 - Юзер

Результат такой же

Twelvee
15

124 | 25

Twelvee - 29 июля 2014 12:43 - Юзер

Спасибо за ответ, но результат такой же. Сам не понимаю почему. Уже пытался делать так как d0gmaster. Выводит только одну запись

Mofsy
6

185 | 57

Mofsy - 29 июля 2014 14:33 - Эксперт

Сколько строк в $row ?

Twelvee
15

124 | 25

Twelvee - 29 июля 2014 15:09 - Юзер

2. 1 - id, 2 - for
В таблице 2 данных

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 29 июля 2014 18:19 - Админ

Напишите что выводит эта конструкция
echo "<pre>"; print_r($opt); echo "</pre>";

прописанная после запроса.

Каков вопрос - таков и ответ. Просто помните об этом.

Twelvee
15

124 | 25

Twelvee - 29 июля 2014 20:47 - Юзер

mysqli_result Object
(
[current_field] => 0
[field_count] => 2
[lengths] =>
[num_rows] => 2
[type] => 0
)

Twelvee
15

124 | 25

Twelvee - 29 июля 2014 21:14 - Юзер

***Комментарий удален***

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

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