Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Упростить вывод из БД
Форумы портала PHP.SU » » Объектно-ориентированное программирование » Упростить вывод из БД

Страниц (1): [1]
 

1. etoYA - 07 Апреля, 2012 - 16:04:21 - перейти к сообщению
Это метод модели, думаю все ясно.
PHP:
скопировать код в буфер обмена
  1.         function selectGenres(){
  2.                 $r = db()->query("SELECT * FROM `genres`");
  3.                 if (is_object($r)){
  4.                         $this->num_rows = $r->num_rows;
  5.                         while ($row = $r->fetch_assoc()){
  6.                                 $this->genres[] = $row;
  7.                         }
  8.                 }
  9.         }


$admin - это модель
Это установка переменных в контроллере
PHP:
скопировать код в буфер обмена
  1.                         $tpl->set(array(
  2.                                                 'title'         => 'Список всех жанров в базе',
  3.                                                 'form'          => 'list-genre',
  4.                                                 'count'         => $admin->num_rows,
  5.                                                 'genres'        => $admin->genres));

Это вывод в шаблоне.
PHP:
скопировать код в буфер обмена
  1.  
  2.         <?for ($i = 0; $i < $count; $i++):?>
  3.         <div class="row">
  4.                 <div class="cell"><?=$genres[$i]['id']?></div>
  5.                 <div class="cell"><?=$genres[$i]['title']?></div>
  6.         </div>
  7.         <?endfor?>
  8.  


Правильно ли я вывожу? Можно ли это сделать проще, и нужно ли?
2. Bio man - 07 Апреля, 2012 - 16:09:55 - перейти к сообщению
цикл while можно вынести в шаблон.
3. etoYA - 07 Апреля, 2012 - 16:11:21 - перейти к сообщению
Bio man, передать обьект $r ?
4. DelphinPRO - 07 Апреля, 2012 - 16:13:59 - перейти к сообщению
etoYA пишет:
передать обьект $r ?

да, зачем два раза гнать цикл без надобности.
5. etoYA - 07 Апреля, 2012 - 16:19:00 - перейти к сообщению
ок, так и поступлю)

 

Powered by ExBB FM 1.0 RC1