2013-02-19 118 views
1

我知道如何从数据库中获取所有结果 我想要做的是获取选定的行。 任何人都可以给我一个示例代码。在Zend Framework中获取选定的行

public function getAllAddresses() 
    { 
     $dbTable = new Application_Model_DbTable_User(); 
     $result = $dbTable->fetchAll(); 

     $addresses = array(); 
     foreach ($result as $row) { 

     $address = new Application_Model_User(); 
     $address->setuserId($row->userId) 
      ->setuserName($row->userName) 
      ->setaddressLine1($row->addressLine1) 
      ->setaddressLine2($row->addressLine2) 
      ->setaddressLine3($row->addressLine3) 
      ->settelephone($row->telephone); 

     $addresses[$row->userId] = $address; 
    } 

    return $addresses; 
} 

我该怎么办抓取..

这是我的控制器调用到使用fetchall

public function indexAction() 
    { 
     // action body 
     $addressMap = new Application_Model_UserMapper(); 
     $addresses = $addressMap->getAllAddresses(); 

     $this->view->addresses = $addresses; 
    } 

我如何可以打电话抓取方法?

这是我的看法

<?php if (isset($this->addresses)) : ?> 
    <table> 
     <thead> 
     <tr> 
      <th>Id</th> 
      <th>Name</th> 
      <th>Street</th> 
      <th>City</th> 
      <th>Town</th> 
      <th>Telephone</th> 
     </tr> 
     </thead> 
     <tbody> 
     <?php 
     foreach ($this->addresses as $userId => $address) { 
      $trow = '<tr>'; 
      $s = $address->getuserId(); 
      $trow .= '<td>'. $address->getuserId() .'</td>'; 
      $trow .= '<td>'. $address->getuserName() .'</td>'; 
      $trow .= '<td>'. $address->getaddressLine1() .'</td>'; 
      $trow .= '<td>'. $address->getaddressLine2() .'</td>'; 
      $trow .= '<td>'. $address->getaddressLine3() .'</td>'; 
      $trow .= '<td>'. $address->gettelephone() .'</td>'; 
      $trow .= '<td><a href="Index?id='. $s .'">Edit</a></td>'; 
      $trow .= '</tr>'; 

      print $trow; 
     } 
     ?> 
     </tbody> 
    </table> 
<?php else : ?> 
    <p>Address not found</p> 
<?php endif; ?> 

我很新的Zend和MVC架构。 任何帮助将高度赞赏。

回答

0

比方说,你想获取从用户表列名“身份证”的行和id = 5$id = 5

$userObj = new Application_Model_DbTable_User(); 
$userRow = $userObj->fetchRow('id = '.$id); 

现在,您可以访问用户的列

echo $userRow->columnName; 
+0

-1,因为不安全的推荐参数插入方法。你应该总是逃避你的参数。即使是最简单的例子。 – blottedscience 2016-03-03 13:44:02