如果引用多个方法,php类方法不显示所有行

时间:2013-08-01 22:33:31

标签: php class

我正在尝试转移到OOP并拥有一个包含以下内容的User类:

<?php 

    class User {

        public function __construct($sdb) 
        {
             $this->sdb = $sdb;
        }

        // and some other methods

    }

?>

我使用以下方式调用该类:

$Users = new User($sdb);
然后我可以使用     echo $ Users-&gt; GetAdminName($ AdminId);

它向我显示结果就好了。

然后在页面的下方,我调用另一个名为ShowUsers的方法,该方法返回表中的所有用户。

$results = $Users->ShowUsers();
foreach($results as $result)
{
 echo my results ....
}

我遇到的问题是ShowUsers()方法只显示1条记录而不是所有记录。

但是,如果我注释掉顶级方法调用

//echo $Users->GetAdminName($AdminId);

它显示所有记录,而不仅仅是一个。

我不确定我在这里做错了什么。非常感谢任何帮助。

function GetAdminName($AdminId)
{
$this->sdb->limit_val="0,1";
$results = $this->sdb->dbSelect("administrators",array("AdminId","FirstName","LastName"),array("AdminId"=>$AdminId));
foreach($results as $result)
{ 
    $AdminName = $result["FirstName"]." ".$result["LastName"]; 
}
return $AdminName;

}

function ShowUsers($Status = '')
{
$this->sdb->order_by_column="LastName";
$tables=array("administrators", "roles");
$joins=array("administrators.RoleId=roles.RoleId");
$join_condition=array("INNER JOIN");
$columns=array("AdminId", "AdminEmail", "FirstName", "LastName", "Status", "RoleName");
if($Status)
{
$whereCondition=array("Status"=>"$Status");
}
return $this->sdb->dbSelectJoin($tables,$joins,$join_condition,$columns,$whereCondition);
}

0 个答案:

没有答案