2016-08-20 49 views
1

我有一個頁面出現一個列註冊到一個類,在一個文本框上面寫一個名字的一個alumn和一個按鈕提交執行搜索的文本框,這些textobox用於bd搜索alumns仍然'在該班註冊。如何隱藏MySQL查詢的行?

當我搜索一個alumn,並且我註冊了課程,更新了頁面,但是當我做一個新的搜索時,仍然出現我之前註冊的alumn。

我想使用此查詢(在PHP)

$q = "select * from studentsubject where studid=$studid and classid=$classid"; 
$r = mysql_query($q); 

這些查詢顯示alumns註冊到類,那麼我想這樣做的不良,表明仍然沒有註冊到alumns名單類並隱藏已經註冊的列。

我嘗試用存儲過程:

DELIMITER $$ 

CREATE PROCEDURE getStudents(in classid_val int(11), in studid_val int(11)) 
BEGIN 

SELECT * from studentsubject WHERE classid=classid_val AND studid=studid_val 
SELECT FOUND_ROWS() 
IF FOUND_ROWS()>0 THEN 
select * from student where id=studid_val 
ELSEIF FOUND_ROWS()<0 THEN 
select * from student 
ENDIF; 


END$$ 

這些存儲過程完成1/2的我想要做的,但是當我用文本框alumns是befored告訴的名字進行搜索它不工作。

+0

怎麼樣一個激動人心'union' – Drew

+0

順便提及,在'mysql_ *'功能[不再支持或保持(http://stackoverflow.com/questions/12859942)。他們[在PHP 5.5.0中棄用](https://wiki.php.net/rfc/mysql_deprecation)和[在PHP 7.0.0中刪除](http://php.net/manual/en/function.mysql -connect.php#function.mysql連接重refsynopsisdiv)。強烈建議您遷移到[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO_MySQL](http://php.net/manual/en/ref.pdo -mysql.php)。 – Pang

回答

0
SELECT x.* 
    FROM x 
    LEFT 
    JOIN y 
    ON y.some_criterion = x.some_criterion 
WHERE y.some_non_nullable_column = NULL