2013-02-19 116 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