0

私は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);
}
4

0 に答える 0