0

データベーステーブルと通信できる場合は、「client_idとsalesrep_idが同じ行にある場合は、これを実行してください。

私が持っている条件付きロジックのほとんど。それは私が苦労している「同じ列」の部分です。

基本的に、私はすべての営業担当者がデータテーブル全体を表示できるようにするシステムを構築していますが、各営業担当者は自分の特定のエントリのみを更新できます。

アイデアは、ディスプレイ内の他のすべての「編集」リンクを無効にすることです。

そのようです ...

    <?php if ($row_listClients['client_id'] && $row_listClients['salesrep_id']) { ?>
    <td><a href="edit_clients.php?client_id=<?php echo $row_listClients['client_id']; ?>">Edit</a>
    </td>
    <?php } else { ?>
    <td>Edit</td>
    <?php } ?>

明らかに、初期条件は機能しません(&&は常にtrueになります)が、他のすべてはうまく機能します。それは私が立ち往生しているこの1ビットだけです。

それが理にかなっていることを願っています、私はそれがおそらくかなり基本的なものであることを知っています。

たくさんの人に感謝します、どんなポインタでも本当にありがたいです。

-

クエリは次のとおりです。

    $query_listClients = "SELECT client_id, user_id, repname, date, client_type, company,
    contact_firstname, contact_lastname, phone, email, property, address, city, province,
    repnotes FROM clientdata ORDER BY company ASC";
    $listClients = mysql_query($query_listClients, $connAdmin) or die(mysql_error());
    $row_listClients = mysql_fetch_assoc($listClients);

再度、感謝します ...

-

データベースデータのサンプル-テストとしてのみ入力しました。最初の2つの番号は、それぞれclient_idとuser_idです。

    19;"33"; "Ronald Wharton"; "March 20 2013"; "Commercial"; "Bonkers Inc."; "Brett";
    "Bonkers"; "987   654 3211"; "brentbonkers@bonkersinc.com"; "Retail Outlet"; 
    "12765 34 Ave"; "Lost Soul City"; "Sask"; "Brett wants to meet with Keith and Dean 
    before the end of the week.  Please call before Friday."        

それが助けになるかどうかはわかりませんが、ありがとうございます。

4

2 に答える 2

1

あなたの質問を読み直しました。すべてのレコードを取得するためにクエリを実行しているように聞こえますが、特定の営業担当者が編集できるようにする必要があるアイテムの編集リンクのみを表示したいのです。

すべてのレコードが必要なので、これは SQL 経由で行うべきではなく、変更するだけでよいように思えます。

<?php if ($row_listClients['client_id'] && $row_listClients['salesrep_id']) { ?>

次のようなものに:

<?php if ($row_listClients['salesrep_id'] == $currentSalesRepId) { ?>

に適切な変数を使用する必要があることは明らかです$currentSalesRepId

于 2013-03-21T20:22:07.917 に答える
1

現在の salesrep_id (ログインしているユーザー) をセッションに保存し、それを mySql クエリによって返された salesrep_id と比較する必要があります (以下の例では、現在ログインしている salesrep_id を 1 にしています)。

次のように WHERE 句を SQL ステートメントに追加します。

SELECT * FROM $tableName WHERE salesrep_id = 1

salesrep_id = 1 の行のみを取得すること

または、データベースからすべての行を取得したい場合

SELECT * FROM $tableName

その後

// 返された salesrep_id = 現在の営業担当者 ID (この例では 1) かどうかを確認します

<?php if ($row_listClients['client_id'] && $row_listClients['salesrep_id'] == 1) : ?>

// 編集リンクを表示

<?php endif; ?>

于 2013-03-21T00:14:58.753 に答える