Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wendelrl

consulta SQL não imprime nada na tela...por que será?

Recommended Posts

Boa noite pessoal! O código abaixo não está selecionando nada, qdo na verdade era pra selecionar. Será que alguém poderia me mostrar onde se encontra esta falha? Eu acho que pode ser na consulta SQL, mas vejam por favor.Obrigado!$consulta2 = mysql_query("SELECT * FROM disciplina WHERE NOT EXISTS (SELECT * FROM disciplinascursadas WHERE mat_aluno='$mat_aluno')"); //$resultado2 = mysql_query($consulta2); $qtd_linhas2 = mysql_num_rows($consulta2); $i = 1; if($qtd_linhas2>0){ echo "<p class='p_updates'>Disciplina(s) não cursada(s) de um total de $qtd_linhas2:</p>"; while ($disc = mysql_fetch_array($consulta2)) { echo "<input type='hidden' name='dis_$disc[cod_disc]' value='$disc[cod_disc]'>"; echo "<p> <b>$i.</b> $disc[nome_disc] -> $disc[cod_disc]</p>"; $i++; } }

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho a tabela com todas as disciplinas, uma tabela com as disciplinas cursadas pelo aluno tal. Então quero selecionar as disciplinas que não estão na tabela disciplinascursadas com o número de matricula do aluno tal, no caso as disciplinas não cursadas por este aluno...entendeu?Obrigadão e aguardo sua resposta!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que falta é o que está em negrito:

SELECT * FROM disciplina AS d WHERE NOT EXISTS (

SELECT * FROM disciplinascursadas AS dc

WHERE d.id_disciplina = dc.id_disciplina AND mat_aluno='$mat_aluno')

)

 

Por quê? Porque você está verificando se a disciplina da tabela 'disciplina' aparece na outra tabela 'disciplinascursadas' atribuida a ou usuário indicado pela variável $mat_aluno.

 

disciplina AS d -> Isso significa que criamos um aliase (apelido) para chamarmos a tabela disciplina de uma forma reduzida em termos de palavras, né verdade? Daí é só indicar com 'd' que estará indicando na verdade a tabela.

O mesmo acontece com a outra tabela como pode ver.

 

Vamos ao mais importante, ou seja, a parte que está em negrito.

d.id = dc.id_disciplina

 

Como pode ver, imaginei que você tenha criado um campo na tabela 'disciplinascursadas' para indicar o id da disciplina, correto?

 

Então agora é com você, se precisar modificar o nome da coluna, modifique... e pronto! : )

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.