Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia galera. Estou precisando muito da ajuda de voces.
Estou precisando de criar um select dependente um do outro ao total são 6 selects.
Comecei a fazer até 2 está funcionando normalmente certo. Mas a partir do 3 já não da certo.
Além de tudo é na mesma tabela que tem que ser feita estes selects.
Exemplo: eu tenho um curso com o nome AÇÕES CONSTITUCIONAIS tenho um campo Disciplina tenho outro VideoAula e ai vai.
Outra ajuda que eu gostaria é que nesta tabela tem cursos com o mesmo nome e quando eu faço o GROUP BY no segundo select ele aparece apenas 1 dos itens não aparece todos que contem com aquele dado curso.
Desde já eu agradeço a voces pela ajuda. abraço
Vou postar o código aqui. a partir do terceiro ele não exibe nada.
Segue os códigos abaixo até o terceiro select.
index.php
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
// Evento change no campo tipo
$("select[name=curso]").change(function(){
// Exibimos no campo marca antes de concluirmos
$("select[name=disciplina]").html('<option value="">Carregando...</option>');
// Exibimos no campo marca antes de selecionamos a marca, serve também em caso
// do usuario ja ter selecionado o tipo e resolveu trocar, com isso limpamos a
// seleção antiga caso tenha feito.
$("select[name=videoaula]").html('<option value="">Aguardando video aula...</option>');
// Passando tipo por parametro para a pagina ajax-marca.php
$.post("disciplina.php",
{id:$(this).val()},
// Carregamos o resultado acima para o campo marca
function(valor){
$("select[name=disciplina]").html(valor);
}
)
})
// Evento change no campo marca
$("select[name=disciplina]").change(function(){
// Exibimos no campo modelo antes de concluirmos
$("select[name=videoaula]").html('<option value="">Carregando...</option>');
// Passando marca por parametro para a pagina ajax-modelo.php
$.post("videoAula.php",
{id:$(this).val()},
// Carregamos o resultado acima para o campo modelo
function(valor){
$("select[name=videoaula]").html(valor);
}
)
})
})
</script>
<form action="" method="post" id="auto">
<select name="curso">
<option value="0">Escolher Curso</option>
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("teste");
$sql = "SELECT * FROM dados ORDER BY id ASC";
$qr = mysql_query($sql) or die(mysql_error());
while($ln = mysql_fetch_assoc($qr)){
echo '<option value="'.$ln['id'].'">'.$ln['Curso'].'</option>';
}
?>
</select>
<select name="disciplina">
<option value="0" selected="selected">Aguardando Curso...</option>
</select>
<select name="videoaula">
<option value="0" selected="selected">Aguardando Disciplina...</option>
</select>
</form>
disciplina.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("teste");
$id = $_POST['id'];
$sql = "SELECT Disciplina FROM dados WHERE id = '$id' ORDER BY id ASC";
$qr = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($qr) == 0){
echo '<option value="0">'.htmlentities('Aguardando curso...').'</option>';
}else{
echo '<option value="">Selecione disciplina...</option>';
while($ln = mysql_fetch_assoc($qr)){
echo '<option value="'.$ln['id'].'">'.$ln['Disciplina'].'</option>';
}
}
?>
VideoAula.php
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("teste");
$id = $_POST['id'];
$sql = "SELECT VideoAula FROM dados WHERE id= '$id' ORDER BY modelo ASC";
$qr = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($qr) == 0){
echo '<option value="0">'.htmlentities('Aguardando Disciplina...').'</option>';
}else{
echo '<option value="0">Selecione a Video Aula...</option>';
while($ln = mysql_fetch_assoc($qr)){
echo '<option value="'.$ln['id'].'">'.$ln['VideoAula'].'</option>';
}
}
?>
Estes são os 3 combos faltam mais 3 só que ai no terceiro já não funciona.
A questão da exibição conseguir resolver o problema era o seguinte eu não estava mandando exibir o código
estava só mandando exibir o nome conforme a consulta em exemplo:
$sql = "SELECT Disciplina FROM dados WHERE id = '$id' ORDER BY id ASC";
correto: $sql = "SELECT id, Disciplina FROM dados WHERE id = '$id' ORDER BY id ASC";
nota-se que mandei exibir o id tbm por isso que nos outros selects não estavam aparecendo o conteudo pois eu estava pegando de acordo com o id mas ele não estava sendo exibido. Essa parte esta resolvida.
Agora a outra questão é. Na parte de cursos eu tenho no cadastro várias cursos com o mesmo nome, só que tem disciplinas com nomes diferentes a questão é para não ficar aquele select com um monte de cursos com o mesmo nome eu queria fazer o seguinte usar um group by no select de cursos e com isso no select de disciplinas exibir todas as disciplinas daquele dado curso.
Mas se eu passar o parâmetro do nome do curso ele não exibe nada mas se eu passar o pârametro do id ele exibe.
O que acontece a partir do terceiro select ?