2013-07-07 99 views
-2

我有下面的類:PHP PDO顯示返回的數組

<?php 

class photos_profile { 


    // Display UnApproved Profile Photos 
    public $unapprovedProfilePhotosArray = array(); 
    public function displayUnapprovedProfilePhotos() { 
    $users = new database('users'); 
    $sql='SELECT userid,profile_domainname,photo_name FROM login WHERE photo_verified=0 AND photo_name IS NOT NULL LIMIT 100;'; 
    $pds=$users->pdo->prepare($sql); $pds->execute(array()); $rows=$pds->fetchAll(); 

    $unapprovedProfilePhotosArray = $rows; 

    echo 'inside the class now....'; 


    foreach($rows as $row) { 
     echo $row['userid']; 
    } 
    } 
} 

我可以從foreach循環成功顯示數據。

這是一個如下所示的類,希望能夠在顯示/視圖代碼中使用該數組。這就是爲什麼我添加了「$ unapprovedProfilePhotosArray = $ rows;」但它不起作用。

$photos_profile = new photos_profile; 
    $photos_profile->displayUnapprovedProfilePhotos(); 

     <?php 
     foreach($photos_profile->unapprovedProfilePhotosArray as $row) { 
      //print_r($photos_profile->unapprovedProfilePhotosArray); 
      echo $row['userid']; 
     } 
     ?> 

什麼是我採取PHP PDO返回數組並在視圖中使用它(從類對象返回)的最佳方式。我可以遍歷所有的值並填充一個新的數組,但這似乎過分。

讓我知道我是否應該更好地解釋這一點。

thx

+2

請不要編輯您的帖子來完全刪除內容。如果你已經解決了你的問題,你可以在這裏發佈答案給未來的訪問者,或者刪除你的問題。 – nickb

+0

爲什麼要循環遍歷所有的值來創建一個新的數組,以便稍後再次循環?根本沒有意義。 – itachi

回答

0

我想你錯過了$ this->部分。所以基本上你是在方法名爲unapprovedProfilePhotosArray的方法內部創建一個局部變量,當方法結束時它將消失。如果你想讓該數組留在屬性中,那麼你應該使用$ this->,這是訪問該屬性的正確方法。

... 
$pds=$users->pdo->prepare($sql); $pds->execute(array()); $rows=$pds->fetchAll(); 

$this->unapprovedProfilePhotosArray = $rows; 

...