php
  • mysql
  • 2017-04-11 16 views 1 likes 
    1

    私は、ユーザがログインするプロジェクトに取り組んでおり、列がnameの場合にのみレコードを表示します。私はこれを行う方法のトンがあります知っているが、アカウントの種類がrepある場合は、セッションPHP if文

    if($_SESSION['account_type'] == 'Rep') { 
    
        $sql = "SELECT * FROM `employee` WHERE rep='".$_SESSION['name']."' "; 
    
    } elseif ($_SESSION['account_type'] == 'Manager') { 
    
        $sql = "SELECT * FROM `employee` WHERE Manager='".$_SESSION['name']."' "; 
    
    } elseif ($_SESSION['account_type'] == 'Regional') { 
    
        $sql = "SELECT * FROM `employee` WHERE Region='".$_SESSION['regional']."' "; 
    
    } elseif ($_SESSION['account_type'] == 'Other') { 
    
        $sql = "SELECT * FROM `employee` "; 
    
    } else { 
        echo 'no records found'; 
    } 
    

    との文は、ショーはちょうどあなたの名前を記録した場合は私のために最も簡単な方法は、使用することです。あなたのアカウントタイプがmanagerの場合、マネージャーレコードにあなたの名前などがあるレコードを表示してください。

    何らかの理由で、私は全くレコードを取得していません。その空白。

    私はそれだけに変更した場合:それは担当者の欄にユーザー名を有する場合

    $sql = "SELECT * FROM `employee` WHERE rep='".$_SESSION['name']."' "; 
    

    私はレコードを取り戻します。これは素晴らしいですが、if文が必要です。

    アイデア?

    UPDATE

    構文エラー - ありがとう!

    +0

    エラーなしを試してみてください? –

    +0

    あなたはページの上でセッションを開始しましたか? – JYoThI

    +0

    空白のページとは、コードのどこかでエラーが発生したことを意味します – JYoThI

    答えて

    0

    ===またはstrcmpの機能を使用してください。 Stringの比較には==を使用しないでください。

    は、すべてのちょうど空白でif($_SESSION['account_type'] === 'Rep') のように...

    +0

    がコメントエリアになければなりません。条件が満たされていない場合は、else部分をエコーする必要があります。しかし、彼は空白のページを取得していると言っている。あなたのコードのどこかにエラー – JYoThI

    +0

    があります。私はそこにエラーが見つかりました(ホームシンプソンDOH!) – JD6969

    +0

    私はこのことを言った理由を知っていますが、https://www.tutorialspoint.com/mysql/mysql-where- clause.htm mysql where節には、==または===のような演算子があります。等しい条件のためにのみです。 –

    関連する問題