2016-10-06 68 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

請具體談談你的問題。如果您試圖從表中選擇特定的列,那麼使用列名而不是'*'運算符。指定您的表格以及您嘗試查詢的數據。 – bos570

+0

'if((condition)== 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- statement.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

耶..sorry for那我已經標記了。非常感謝 :-) –

相關問題