0

私のコントローラー機能は

public function listAction()
 {
       $params = array('host'       =>'localhost',
                        'username'  =>'root',
                        'password'  =>'',
                        'dbname'    =>'zend'
                         );
        $DB = new Zend_Db_Adapter_Pdo_Mysql($params);
        $DB->setFetchMode(Zend_Db::FETCH_OBJ);
        $sql = "SELECT * FROM `user` ORDER BY user_name ASC";
        $result = $DB->fetchAssoc($sql);
        echo count($result);
        $this->view->assign('title','Member List');
        $this->view->assign('description','Below, our members:');
        $this->view->assign('datas',$result);
 }

そしてphtmlファイルはmysqlテーブルを取得しています

<?php 
$datas = $this->datas;
    for($i = 1; $i<= count($datas);$i++)
    { echo $datas[$i]['id'];
  echo $datas[$i]['user_name'];
  echo $datas[$i]['first_name'];  
  echo $datas[$i]['last_name'];
       } ?>

未定義のオフセット = 1 のエラーが表示されます。ループを 2 から開始すると問題なく、mysql テーブルから 1 つ少ない行が表示されます。

助けてください、どこが間違っているのかわかりません

4

1 に答える 1

1

$datas の配列インデックスは 1 ではないため、phtml ファイルを次のコードに置き換えます。それが役立つことを願っています。

<?php
$datas = $this->datas;
foreach ($datas as $data) {
    echo $data['id'];
    echo $data['user_name'];
    echo $data['first_name'];
   echo $data['last_name'];
 }
?>
于 2012-10-03T07:18:29.183 に答える