Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вывод из foreach (как-то не вьеду)

26K
20 августа 2012 года
maddy
19 / / 20.11.2008
Здравствуйте, итак к сути вопроса:
Есть конструкция обработки выборки из базы MySQL:

 
Код:
$q_result = $q_monitors->result(); // заносим в переменную выборку из базы
            foreach($q_result as $row) // прогоняем через foreach
                {
                    $ret_show .= array('id' => $row->id, 'name' => $row->name, 'diagonal' => $row->diagonal, 'price'=>$row->price);
                }
           
            return array('table' =>$ret_show, 'select' => form_helper());
На выходе имеем:


 
Код:
array('id'=>'1', 'name=>'name1' ... );
array('
id'=>'1', 'name=>'name1' ... );
array('id'=>'1', 'name=>'name1' ... );
array('
id'=>'1', 'name=>'name1' ... );
array('id'=>'1', 'name=>'name1' ... );
А шаблонизатор принимает кострукцию:


 
Код:
'table_entries' => array(
                                          array('id' =>'1', 'name' => 'name1', 'diagonal' => 'diagonal1', 'price'=>'price1'),
                                          array('id' =>'2', 'name' => 'name2', 'diagonal' => 'diagonal2', 'price'=>'price2')
                                         )
То есть нам необходимо в выводе цикла добавить после каждого массива запятую, а не точку с запятой и сделать перечисление массивов
285
20 августа 2012 года
Romik
479 / / 24.11.2002
Вам нужно всё складывать в массив, а не в применять операцию конкатенации строки к массиву:
 
Код:
$q_result = $q_monitors->result(); // заносим в переменную выборку из базы
$ret_show = array();
foreach($q_result as $row) // прогоняем через foreach
{
    $ret_show[] = array('id' => $row->id, 'name' => $row->name, 'diagonal' => $row->diagonal, 'price'=>$row->price);
}
           
return array('table' =>$ret_show, 'select' => form_helper());
277
20 августа 2012 года
arrjj
1.7K / / 26.01.2011
А так?
 
Код:
$ret_show['table_entries'][] = array('id' => $row->id, 'name' => $row->name, 'diagonal' => $row->diagonal, 'price'=>$row->price);
26K
20 августа 2012 года
maddy
19 / / 20.11.2008
Спасибо всем кто ответил, все работает !
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог