Jquery + PHP
22/10/2012
0
Estou com um problema utilizando jQuery e PHP juntos.
É o seguinte:
Fiz um sistema em que o meu cliente cadastra os dados dos professores da escola dele dinamicamente: nome, especilidade e curriculo. Isso está funcionando sem problemas. A falha ocorre quando utilizo o jQuery para abrir as informações de um dado professor. Clicando na ESPECIALIDADE tem que abrir o nome e o currículo deste professor especificamente. Entretanto, ele acaba abrindo o de todos os professores e só funciona se clicar no nome do primeiro professor da lista. Porém, já o botão de fechar funcional para todos, mas fecha o de todos os professores juntamente.
Segue o código PHP abaixo:
<div id="professores">
<ul>
<?php
$sql_professor = "SELECT * FROM professores";
$query_professor = mysql_query($sql_professor);
while($p = mysql_fetch_array($query_professor)){
$nome = $p['nome'];
$especialidade = $p['especialidade'];
$curriculo = $p['curriculo'];
?>
<li>
<h1 class="espec" id="especialidade"><?php echo $especialidade;?></h1>
<img style="display:none;" class="close" src="images/close_professor.png" alt="" title=""/>
<h2 style="display:none;" id="curriculo"><?php echo $nome;?></h2>
<p style="display:none;" id="curriculo">
<?php echo $curriculo;?>
</p>
</li>
<?php
}
?>
</ul>
</div><!--fecha professores-->
Código jQuery:
<script type="text/javascript">
$(document).ready(function(){
$("#especialidade").click(function(){
$("h2,p, .close").show(5000);
});
$(".close").click(function(){
$("h2,p, .close").hide(5000);
});
});
</script>
Alguém poderia me dizer como eu posso fazer para resolver esse problema? De modo que o efeito jQuery funcione para todos os professor (show), pois apenas o hide que está funcional, mas que abra apenas os dados daquele que foi chamado pelo evento click?
Abração a todos aí!!!
Desde já, valeu pela a ajuda!
Abraão Marques
Posts
23/10/2012
Eduardo Oliveira
Se sim, primeiro observe como está sua consulta :
$sql_professor = "SELECT * FROM professores";
Esse seu SELECT, é o responsavel por todos os professores, pois nele você não está especificando um filtro, mas beleza que filtro é esse?? Fácil use WHERE em seu select.
$sql_professor = " SELECT * FROM professores WHERE especialidade = ' $especialidade ' ";
Isso lhe garante que você irá trazer somente os professores de uma determinada especialidade.
Teste e informe o que rolou, qualquer dúvida só grita.
Abraço
23/10/2012
Abraão Marques
A consulta com o banco ocorre sem problemas e consigo chamar todos os cadastrados no banco. O problema é o efeito em jQuery que só funciona para o primeiro da lista que vem do banco. Eu queria uma forma que só abrisse o currículo do professor que eu cliquei, no entanto, ele abre de todos de uma só vez.
Valeu pela ajuda mesmo!!!
Vou tentar novamente. Se conseguir resolver, posto aqui também!
Abração!
23/10/2012
Eduardo Oliveira
Obrigado.
24/10/2012
Alisson Santos
25/10/2012
Marcio Araujo
25/10/2012
Alisson Santos
Clique aqui para fazer login e interagir na Comunidade :)