Carregar uma comobobox apartir de outra em php

cakanilo

Membro
Boa tarde, eu tenho uma combobox que tem as suas opções, eu gostaria que de acordo com a opção selecionada ele carregace a 2º combo,

É assim eu quero fazer a inscrição de uma pessoa em um curso e tenho a 1º combo que carrega os cursos, de acordo com a seleção desta ele carregaria a 2º.

Código:
<?php
 include("./inc/conexao.inc.php");
 
 $cursoedicao = mysql_query("SELECT * FROM tbCurso_Edicao WHERE Aberto = 0;");
 
 $turmacurso = mysql_query( "SELECT * FROM tbTurma_Curso WHERE Aberto = 0;");
  
?>
COMBO DO CURSO
Código:
<select name="IDCurso_Edicao" id="IDCurso_Edicao">
<?php
  for( $ce =  0; $ce < mysql_num_rows($cursoedicao); $ce++)
  {
?>
  <option value="<?php echo mysql_result( $cursoedicao, $ce, "IDCurso_Edicao"); ?>" selected="selected">
<?php echo mysql_result( $cursoedicao, $ce, "Curso_Edicao"); ?>
</option>
  <?php
  }
?>
</select>
COMOBO DA TURMA
Código:
<select name="IDTurm_Curso" id="IDTurm_Curso">
<?php
  for( $ce =  0; $ce < mysql_num_rows($turmacurso); $ce++)
  {
?> if 
<option value="<?php echo mysql_result( $turmacurso, $ce, "IDTurm_Curso"); ?>" if selected="selected">
<?php echo mysql_result($turmacurso, $ce, "Turma"); ?>
</option>
  <?php
  }
?>
</select>
EU GOSTARIA QUE QUANO CLICASSE 1º COMOBO ELE MOSTRASSE A OPÇÕES NA 2º COMBO DE ACORDO COM A SELEÇÃO DA 1º... DESTE JÁ AGRADEÇO A COLABORAÇÃO.
 
Última edição pelo moderador:
Tens algumas hipóteses
- Fazer load a pagina novamente (mas agora com a info da segunda combo box, basta colocar o ID da primeira no _POST)
- Utilizar AJAX para adicionar a informação da segunda combo box depois de seleccionar a primeira (Tutorial ajax/php)
 
Tens algumas hipóteses
- Fazer load a pagina novamente (mas agora com a info da segunda combo box, basta colocar o ID da primeira no _POST)
- Utilizar AJAX para adicionar a informação da segunda combo box depois de seleccionar a primeira (Tutorial ajax/php)


existe ainda uma terceira opção que é usar um iframe escondido que processa a informação(server side) e devolve os resultados à página principal (javascript)...mas a melhor opção é usares mesmo AJAX
 
PHP + JS;

Algo do tipo:

Código:
<FORM action="search.php" method="POST" id="form1" name="form1">
<?
echo '<SELECT name="value1" id="value1" onChange="change_value1()">
    <OPTION value="">Select a value1</OPTION>';
    
        while($row=mysql_fetch_array($result1))
        {
            echo '<OPTION value="'.$row['value1'].'"';
            if(!empty($_REQUEST['p1']) && ($row['value1']==$_REQUEST['p1']))
                echo "selected";
                
            echo '>'.$row['value1'].'</OPTION>';
            
        
        }
    
echo '</SELECT>&nbsp;';

if(!empty($_REQUEST['p1']))
{
    $result2=mysql_query("select value2 from table2 where value1='".$_REQUEST['p1']."'order by value2 desc");
    echo '<SELECT name="value2" id="value2" onChange="change_value2()" >
        <OPTION value="">Select a value2</OPTION>';    
        while($row=mysql_fetch_array($result2))
        {
            echo '<OPTION value="'.$row['value2'].'"';
            if(!empty($_REQUEST['p2']) && ($row['value2']==$_REQUEST['p2']))
                echo "selected";
            echo '>'.$row['value2'].'</OPTION>';
        }
    
    echo '</SELECT>&nbsp;';
}
</FORM>
JavaScript Document

Código:
function change_value1()
{
    var p1=document.form1.value1.value;
    window.location.href="keyword.php?p1="+p1;
}
function change_value2()
{
    var p1=document.form1.value1.value;
    var p2=document.form1.value2.value;
    window.location.href="keyword.php?p1="+p1+"&p2="+p2;
}
 
Back
Topo