2015-01-14 2 views
0

Я уже знаю, как получить информацию из базы данных и показать их в поле зрения, но я не знаю, как вычислить строку таблицы в Zend Framework
в контроллере, я подключился к базе данных и извлек информацию и с учетом этого контроллера я использовал статическое значение. Я хочу показывать информацию до тех пор, пока она существует.Показать все записи из таблицы Zend Framework

Контроллер:

. 
. 
. 
     $AModel = new Model_A(); 
     $select = $AModel->fetchAll($AModel->select()->where('user_id = ?', $part_mail)); 
     $this->view->rowArray = $select->toArray(); 
     $num_rows = mysql_num_rows($select); 
     echo $num_rows; 
    . 
    . 
    . 

Вид:

<?php 
      for ($i=0 ; $i<=3; ++$i) 
      { 

        print '<tr><td>uid:'. ($this->rowArray[$i]['uid']).'</td>'; 
        print '<td>online_status:'. ($this->rowArray[$i]['online_status']).'</td>'; 
        print '<td>failed_logins:'. ($this->rowArray[$i]['failed_logins']).'</td></tr>'; 
      }?> 

ответ

0

Попробуйте это,

$args=array(
     'host' =>'localhost', 
     'username' =>'root', 
     'password' =>'', 
     'dbname' =>'dbname'); 

$db = Zend_Db::Factory('PDO_MYSQL',$args); 
$select = $db->select() 
      ->from('table_name') 
      ->where('user_id = ?', $part_mail) 
$stmt = $db->query($select); 
$result = $stmt->fetchAll(); 
0

Попробуйте это:

Контроллер:

$AModel = new Model_A(); 
$select = $AModel->fetchAll($AModel->select()->where('user_id = ?', $part_mail)); 
     $rowCount = count($select);   
     if ($rowCount > 0) { 
      echo "found $rowCount rows"; 
      $this->view->rowCount = count($select); 
      $this->view->rowArray = $select->toArray(); 
     } else { 
     echo 'no rows matched the query'; 
     } 


Вид:

<?php 

      for ($i=0 ; $i<=$this->rowCount; ++$i) 
      { 

        print '<tr><td>uid:'. ($this->rowArray[$i]['uid']).'</td>'; 
        print '<td>online_status:'. ($this->rowArray[$i]['online_status']).'</td>'; 
        print '<td>failed_logins:'. ($this->rowArray[$i]['failed_logins']).'</td></tr>'; 
      }?> 
+1

Почему бы не отправить '$ select' для просмотра, а затем использовать' Еогеасп ($ выберите в $ строки) '? – Volvox

+0

, пожалуйста, расскажите мне подробно об этом ответе @ Volvox – AFN

+1

, если 'Model_A' расширяет' Zend_Db_Table_Abstract' (и он должен), то 'fetchAll()' возвращает 'Zend_Db_Table_Rowset_Abstract', который можно использовать как массивы. Таким образом, вы можете сделать '$ this-> view-> select = $ select' и в поле зрения' $ this-> select-> count() ', чтобы получить количество элементов и' foreach ($ this-> select as $ row) { echo $ row-> uid} '(каждая строка $ -' Zend_Db_Table_Row_Abstract', которая может быть полезна многими способами, но это еще одна история) – Volvox

Смежные вопросы