Ir para conteúdo

POWERED BY:

Arquivado

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

Helio Junior_98527

Como pegar valor de um select vindo de um banco de dados

Recommended Posts

Pessoal to com duvidas de como pegar o valor selecionado em um campo select de um form segue o codigo abaixo:

 

É o seguinte tem um campo select com nome curso , ali coloquei os cursos , quando selecionado eu faço um if para ver qual opção usurio escolheu, aparti dai faço uma consulta e mostro no outro select chamado turma as turmas relacionadas ao curso, essa turma vem do banco de dados. Meu problema e como pegar o valor selecionadono select turma pois aparti da turma vo fazer outra consulta pra lista os alunos referente ao curso e turma em outro select

 

<FORM METHOD="POST" name="f1" >

<table width="100%" border="0" align="center" cellpadding="3" cellspacing="3">

 

<tr valign="top">

<td colspan="3"><br>

<table width="100%" border="1" cellpadding="0" cellspacing="0" class="texto1">

</table></td>

</tr>

<tr valign="top">

<td width="33%"><font size="1" face="Verdana, Arial, Helvetica, sans-serif">

<b><font face="Verdana, Arial">Curso:</font></b><br>

 

<select name="curso" onChange="window.location = 'dp_aluno.php?exibir=' + this.value;" class="campo">

<option value="" >Selecione uma opçao</option>

<option value="BAS4" > Básico</option>

<option value="ADM4" > Administraçao</option>

<option value="CON4">Ciencias Contábeis</option>

<option value="DIR8">Direito </option>

<option value="ENG">Engenharia de Produçao</option>

<option value="INF8">Sistemas de Informaçao</option>

<option value="ALL" >Todos</option>

 

</select>

 

 

<?php

 

DBaluno();

 

if($exibir=="BAS4"){

$qry = mysql_query("Select nome from turma Where curso = 'BAS4' ");

}

if($exibir=="ADM4"){

$qry = mysql_query("Select nome from turma Where curso = 'ADM4' ");

}

if($exibir=="CON4"){

$qry = mysql_query("Select nome from turma Where curso = 'CON4' ");

}

if($exibir=="DIR8"){

$qry = mysql_query("Select nome from turma Where curso = 'DIR8' ");

}

if($exibir=="ENG"){

$qry = mysql_query("Select nome from turma Where curso = 'ENG' ");

}

if($exibir=="INF8"){

$qry = mysql_query("Select nome from turma Where curso = 'INF8' ");

}

?>

</font></td>

<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b><font face="Verdana, Arial">Turma:</font></b><br>

<select name="turma" class="campo" >

 

 

<?php

 

while ($result = mysql_fetch_array($qry)){?>

<option ><?php echo $result['nome']; ?></option>

 

 

 

<?

}

?>

 

</select>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi! Seja bem vindo @Helio!

 

Por favor, quando postar codigo aqui no forum coloque o mesmo entre a tag "php" ou "code" do bbcode.

 

Lendo sua duvida...

 

1) Vamos diminuir esse seu IF:

 

Ao inves de:

 

if($exibir=="BAS4"){
$qry = mysql_query("Select nome from turma Where curso = 'BAS4' ");
}
if($exibir=="ADM4"){
$qry = mysql_query("Select nome from turma Where curso = 'ADM4' ");
}
if($exibir=="CON4"){
$qry = mysql_query("Select nome from turma Where curso = 'CON4' ");
}
if($exibir=="DIR8"){
$qry = mysql_query("Select nome from turma Where curso = 'DIR8' ");
}
if($exibir=="ENG"){
$qry = mysql_query("Select nome from turma Where curso = 'ENG' ");
}
if($exibir=="INF8"){
$qry = mysql_query("Select nome from turma Where curso = 'INF8' ");
}

Use:

 

<?php
// todos os cursos possiveis
$cursos = array('BAS4', 'ADM4', 'CON4', 'DIR8', 'ENG', 'INF8');

// Verifica se o curso [ $exibir ] existe no array de cursos validos
If (in_array($exibir, $cursos))
  { $qry = mysql_query("Select nome from turma Where curso = '$exibir' ");
  } Else { Exit("Curso $exibir nao existe!"); }

2) Para percorrer todo o resultado da query com o while use mysql_fetch_assoc() ao inves de mysql_fetch_array(), assim:

 

Substitua:

 

while ($result = mysql_fetch_array(($qry)){?>

Por:

 

while ($result = mysql_fetch_assoc(($qry)){?>

 

Tente e estude as funcoes!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops desculpa ter postado o codigo daquele jeito é a primeira vez que uso o forum

 

obrigado pela ajuda sou iniciante em php, so uma duvida tipo usando mysql_fetch_assoc , como faço pra quando o usuario clica no campo select da turma seleciona a opção tenho q usar onchange , onclik algum evento desses, e q to meio perdido ja me falaram pra usar onchange igual eu fiz no select do curso mais queria uma maneira mais correta para não fica carregando a pagina td hora se poder me ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ops desculpa ter postado o codigo daquele jeito é a primeira vez que uso o forum

 

obrigado pela ajuda sou iniciante em php, so uma duvida tipo usando mysql_fetch_assoc , como faço pra quando o usuario clica no campo select da turma seleciona a opção tenho q usar onchange , onclik algum evento desses, e q to meio perdido ja me falaram pra usar onchange igual eu fiz no select do curso mais queria uma maneira mais correta para não fica carregando a pagina td hora se poder me ajuda

 

Entendo! Pra usar este update sem precisar recarregar a pagina, tem dois caminhos, um script php/javascript que gere as options dinamicamente, ai ce usa o evento onChange pra mudra o valor de outro option e etc... Mas este e mais complexo, acredito que seja mais facil fazer isso com Ajax/jQuery e ai ja nao é minha praia... :(

 

Agora que voce ja consege pegar as optios com php, pesquise no forum de javascript/ajax ou post la para o pessoal da area te ajudra a desenvolver essa parte.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for pra mim carrega a pagina novamente como faço , pois se eu coloco o onchange como fiz no anterior ele apaga as opções do select da turma


  <select name="turma" onChange="window.location = 'dp_aluno.php?exibir=' + this.value;" class="campo">


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.