私はOOPに移行しようとしており、次のユーザークラスを持っています:
<?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);
1 つのレコードだけでなく、すべてのレコードが表示されます。
ここで何が間違っているのかわかりません。どんな助けでも大歓迎です。
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);
}