0

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

<?php 

    class User {

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

        // and some other methods

    }

?>

我使用以下方法调用课程:

$Users = new User($sdb);

然后我可以使用 echo $Users->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);
}
4

0 回答 0