2016-10-06 8 views
-2

スケジューラテーブルに既に追加されている件名テーブルから表示する件名を除外する方法を教えてください。私はこのコードを持っていますが、まだスケジューラーテーブルに追加されているサブジェクトを表示しています。SQLでデータベースから選択する際に値を除外する方法

<?php 
    $sem = $_GET['semChooser']; 

    $res = mysql_query("SELECT * FROM scheduler WHERE semester = '$sem'") or die(mysql_errno()); 
    $row=mysql_fetch_array($res); 

      $subName = $row['subject_name']; 

     $res1 = mysql_query("SELECT * FROM subject WHERE semester IN ('$sem', 3) AND subject_name != '$subName'") or die(mysql_errno()); 
     while ($row=mysql_fetch_array($res1)) { 

     echo " 
     <tr class='active'> 
      <td align='center'> 
       <button type='submit' data-dismiss='modal' class='btn btn-primary btn-block btn-xs subject'><em class='fa fa-plus'></em> Add</button> 
      </td> 
      <td>".$row['subject_code']."</td> 
      <td>".$row['subject_name']."</td> 
      <td>".$row['subject_type']."</td> 
      <td>".$row['room_type']."</td> 
      <td>".$row['subject_category']."</td> 
      <td>".$row['year_level']."</td> 
      <td>".$row['units']."</td> 
     </tr> "; } 
    ?> 
+1

1つのクエリで結果を得ることは、あなたの質問についてより具体的にしてください可能性があります。テーブルから特定の列を選択するだけの場合は、 '*'演算子ではなく列名を使用します。テーブルの内容と照会しようとしているデータを指定します。 – bos570

+0

'if((条件)== x)){...}'。 –

+0

*** [mysql_ *関数の使用を中止してください](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)*** [これらの拡張機能](http://php.net/manual/en/migration70.removed-exts-sapis.php)がPHP 7で削除されました。[prepared](http://en.wikipedia.org/wiki/Prepared_statement)について学んでください。 )[PDO](http://php.net/manual/en/pdo.prepared-statements.php)と[MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared- statements.php)、PDOを使用することを検討してください。[これは本当に簡単です](http://jayblanchard.net/demystifying_php_pdo.html)。 –

答えて

2

あなたは副選択を使用してのみ

 SELECT * 
     FROM subject 
     WHERE semester IN ('$sem', 3) 
     AND subject_name not in (SELECT * FROM scheduler 
           WHERE semester = '$sem') 
+0

感謝の男!これは実際に私のために働く! –

+0

私の答えが正しければ、それはaccpetedとしてそれをマークしてください..このリンクでどのように参照してくださいhttp://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – scaisEdge

+0

はいそれは既にそれをマークしています。どうもありがとうございます :-) –

関連する問題