Array
(
)

Jquery + PHP

PHP
Abraão Marques
   - 22 out 2012

Olá pessoal, boa tarde!
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!

Eduardo Oliveira
   - 23 out 2012

Não entendo muito de Jquery, mas veja o seguinte, você está querendo trazer o professor de uma dada especialidade correto?
Se sim, primeiro observe como está sua consulta :

#Código

$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.

#Código
$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

Abraão Marques
   - 23 out 2012

Pow, fera, valeu pela dica! Mas não deu.

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!

Eduardo Oliveira
   - 23 out 2012

Se acredita que seu problema esteja no Jquery é mais viável que abra o tópico na sala de javascript.

Obrigado.

Abraão Marques
   - 24 out 2012

Valeu pelo auxílio!

Alisson
|
MVP
Pontos: 3400
    24 out 2012

desculpe eu havia respondido em outro tópico, conseguiu resolver o seu problema???

Marcio Araujo
   - 25 out 2012

ei pessoal, existe algum material especifico sobre isso???

Alisson
|
MVP
Pontos: 3400
    25 out 2012

No site baixebr.org existe alguns materiais bacanas desse assunto, dê uma pesquisada nele.

Luxu
   - 25 out 2012

jQuery UI - Autocomplete Demos & Documentation