【问题标题】:php pdo in class + best method to display return array类中的 php pdo + 显示返回数组的最佳方法
【发布时间】:2013-07-04 17:31:14
【问题描述】:

我有以下课程:

<?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 返回数组并在视图中使用它的最佳方式是什么(从类对象返回)。我可以遍历所有值并填充一个新数组,但这似乎太过分了。

如果我应该更好地解释这一点,请告诉我。

谢谢

【问题讨论】:

  • 请不要编辑您的帖子以完全删除内容。如果您已经解决了您的问题,您可以在此处为以后的访问者发布答案,或者删除您的问题。
  • 为什么要遍历所有值以创建一个新数组,以便稍后再次循环?完全没有意义。

标签: php arrays class pdo


【解决方案1】:

我认为您缺少 $this-> 部分。所以基本上你是在名为 unapprovedProfilePhotosArray 的方法中创建一个局部变量,当方法完成时它会消失。如果您希望该数组保留在该属性中,那么您应该使用 $this->,这是访问该属性的正确方法。

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

$this->unapprovedProfilePhotosArray = $rows;

...

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 2019-05-10
    • 1970-01-01
    • 2015-07-27
    • 1970-01-01
    • 2012-02-26
    • 2014-08-27
    • 2015-09-30
    • 1970-01-01
    相关资源
    最近更新 更多