Jquery + PHP

22/10/2012

0

PHP

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!
Abraão Marques

Abraão Marques

Responder

Posts

23/10/2012

Eduardo Oliveira

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 :

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

23/10/2012

Abraão Marques

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!
Responder

23/10/2012

Eduardo Oliveira

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

Obrigado.
Responder

24/10/2012

Abraão Marques

Valeu pelo auxílio!
Responder

24/10/2012

Alisson Santos

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

25/10/2012

Marcio Araujo

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

25/10/2012

Alisson Santos

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

25/10/2012

Luciano Martins

jQuery UI - Autocomplete Demos & Documentation
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar