我正在尝试转到 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);
}