2013-07-07 2 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']; 
    } 
    } 
} 

можно отобразить данные успешно из цикла Еогеасп.

Это класс, который называется следующим и хочет иметь возможность использовать массив в коде отображения/просмотра. Поэтому я добавил «$ 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 и использовать его в целях (возврат из объекта класса). Я мог бы перебирать все значения и заполнять новый массив, но это кажется чрезмерным.

Сообщите мне, если я лучше объясню это.

ТНХ

+2

Пожалуйста, не редактируйте свои сообщения, чтобы полностью удалить контент. Если вы решили свою проблему, вы можете отправить ответ здесь для будущих посетителей или удалить свой вопрос. – nickb

+0

Почему вы хотите перебрать все значения, чтобы создать новый массив только для более позднего цикла? вообще не имеет смысла. – itachi

ответ

0

Я думаю, что вы пропустили $ this-> часть. Таким образом, в основном вы создаете локальную переменную внутри метода с именем unapprovedProfilePhotosArray, который исчезает при завершении метода. Если вы хотите, чтобы этот массив оставался в этом свойстве, вы должны использовать $ this->, что является правильным способом доступа к этому свойству.

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

$this->unapprovedProfilePhotosArray = $rows; 

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