2016-08-20 2 views
1

У меня есть страница, на которой отображается список совпадений, зарегистрированных в классе, над текстовым полем для записи имени столбца и правой стороны кнопки отправки для выполнения поиска, эти текстовые поля предназначены для поиска в bd, которые все еще не являются " t зарегистрирован в этом классе.Как скрыть строки запроса MySQL?

Когда я выполняю поиск в группе, и я зарегистрировался на класс, обновите страницу, но когда я делаю новый поиск, по-прежнему появляется уже зарегистрированная ранее запись.

Я думал использовать этот запрос (в 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 
Смежные вопросы