0

私は検索フォームを持っており、ユーザーは自分が所有する不動産を検索できます(番号またはキーワードで検索)。

テーブル内のすべての不動産には、所有者を識別するためのユーザーIDがあります。

$userID variable (from login session).
$accessLevel variable (from login session). / checks if user is admin
$req variable (keyword from form input)

SELECT esName, esID, esAddress FROM estates WHERE
    (esName LIKE '$req' OR esID LIKE '$req')
    AND userID='$userID'"

さて、私の質問は、管理者アクセスを作成する方法です。管理者は、所有者に関係なく、既存のすべての不動産を確認できます。管理者向けの独立したクエリ以外のオプションはありますか?

さまざまなデータベースに対して7つの異なるクエリがあり(ラジオボタンの選択(たとえば、不動産、支払いなど)によって異なります)、データベースごとに別のクエリを作成するのは非常に面倒です。

4

2 に答える 2

1

管理者と通常のユーザーの両方で機能する1つのクエリを探している場合。

$admin_access = 'true'; // if user is administrator
$admin_access = 'false'; // if user is not administrator

$query = "SELECT esName, esID, esAddress FROM estates WHERE
    (esName LIKE '$req' OR esID LIKE '$req')
    AND (userID='$userID' OR $admin_access)";
于 2012-04-15T14:52:47.163 に答える
1
$qry = "SELECT esName, esID, esAddress FROM estates WHERE
    (esName LIKE '$req' OR esID LIKE '$req')" .
    ($accessLevel == 'admin' ? "" : " AND userID='$userID'");
于 2012-04-15T14:42:20.063 に答える