Foros del Web » Programando para Internet » PHP »

Combobox selectivos con base de datos

Estas en el tema de Combobox selectivos con base de datos en el foro de PHP en Foros del Web. hola foreros; Voy a probar suerte otra vez por si no me he esplicado del todo bien. Tengo una B.D. con la tabla RESTAURANTES y ...
  #1 (permalink)  
Antiguo 17/06/2005, 02:28
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 13 años
Puntos: 3
Combobox selectivos con base de datos

hola foreros;

Voy a probar suerte otra vez por si no me he esplicado del todo bien. Tengo una B.D. con la tabla RESTAURANTES y su campos son: ID_RESTAURANTE,NOMBRE, EMAIL, POBLACION.

Tengo dos combos, en el primero necesito mostrar POBLACION y cuando seleccione me tiene que aparecer en el segundo combo NOMBRE de los restaurantes, es decir, si selecciono por decir un caso, si selecciono Madrid , que en el segundo combo me salga todos los restaurantes de madrid.

Alguien sabe como se hace?
He probado con este código que ahora añadiré, pero no se implementarle la consulta ... espero que alguien sepa como se pone u otra manera de resolver el problema porfis.

Ahí dejo el código:
Código PHP:
Entre <head><!-- SCRIP PARA LOS COMBOS SELECTIVOS --->

<script language="JavaScript"> 

   function addOpt(oCntrl, iPos, sTxt, sVal){ 
     var selOpcion=new Option(sTxt, sVal); 
     eval(oCntrl.options[iPos]=selOpcion); 
   } 

   function cambia(oCntrl){ 
    while (oCntrl.length) oCntrl.remove(0); 
    switch (document.frm.pais.selectedIndex){ 
     <?php
     $sql
"select ID_RESTAURANTE, NOMBRE, POBLACION from RESTAURANTES";
     
$result=mysql_query("$sql",$link) or die(mysql_error());
     while(
$row=mysql_fetch_array($result)) 
    { 
        
$id_restaurante=$row["ID_RESTAURANTE"];
        
$nombre=$row["NOMBRE"];
                          
$poblacion=$row["POBLACION"]; 
     
?>
     case 0: 
      addOpt(oCntrl,  <?php echo $id_restaurane?>, "<?php echo $poblacion?>", "<?php echo $nombre?>"); 
      addOpt(oCntrl,  <?php echo $id_restaurane?>, "<?php echo $poblacion?>", "<?php echo $nombre?>"); 
      addOpt(oCntrl, <?php echo $id_restaurane?>, "<?php echo $poblacion?>", "<?php echo $nombre?>"); 
      break; 
      <?php 
      
}
      
?>
    } 
   } 
  </script>
</head>
y la tabla donde aparecen los combos:
 <table width="400" border="0" cellspacing="0" cellpadding="0">
 <script language="JavaScript"> 
   var w = 400; 
   var h = 150; 
   resizeTo(w, h); 
   moveTo((screen.width - w)/ 2, (screen.height - h)/ 2); 
  </script> 
                          
                            <tr valign="top">
                              <td width="189" class="gris_boton">Escoja una comunidad: <br>
                            <?php  
    $sql
=("select ID_RESTAURANTE, POBLACION
    from RESTAURANTES
    order by POBLACION"
);
$result=mysql_query("$sql",$link) or die(mysql_error());
    
?> 
        <select  name="poblacion" onchange="cambia(document.frm.restaurante)"> 
    <? 
    
while($row=mysql_fetch_array($result)) 
    { 
        
$id_restaurante=$row["ID_RESTAURANTE"];
        
$poblacion=$row["POBLACION"]; 
        
?> 
            <option value="<? echo $poblacion?>"> <? echo $poblacion?> </option> 
        <? 
    
?>
   </select>

                                </td>
                              <td width="211" class="gris_boton">Escoja un restaurante: <br>
                                <?php  
    $sql
=("select ID_RESTAURANTE, NOMBRE 
    from RESTAURANTES
    order by NOMBRE"
);
$result=mysql_query("$sql",$link) or die(mysql_error());
    
?> 
        <select name="restaurante" > 
    <? 
    
while($row=mysql_fetch_array($result)) 
    { 
        
$id_restaurante=$row["ID_RESTAURANTE"];
        
$nombre=$row["NOMBRE"]; 
        
?> 
            <option value="<? echo $nombre?>"> <? echo $nombre?> </option> 
        <? 
    
?>
   </select></td>
                            </tr>
                          </table>
Este código está fatalmente echo, pero a lo mejor les representa bien lo que quisiera hacer. Espero que me ayuden porfabor.

Un saludo de antemano y muchísimas gracias.
  #2 (permalink)  
Antiguo 17/06/2005, 04:46
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Perdona por no ver tu código... pero te sugiero veas esto: www.forosdelweb.com/showthread.php?t=303969

Ahí mismo dejé un enlace hacia más formas de hacer esto... Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.