Foros del Web » Programando para Internet » PHP »

problemas con combos dinámicos selectivos

Estas en el tema de problemas con combos dinámicos selectivos en el foro de PHP en Foros del Web. Hola compañeros!! Estoy usando el script que hay en las faqs para combos selectivos de Kaopectate. Lo he intentado adaptar con php para que sea ...
  #1 (permalink)  
Antiguo 09/03/2007, 06:00
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
problemas con combos dinámicos selectivos

Hola compañeros!!

Estoy usando el script que hay en las faqs para combos selectivos de Kaopectate. Lo he intentado adaptar con php para que sea dinámico. Creo que estoy cerca, pero no logro sacarlo adelante. Alguien me podría hechar una mano para encontrar el error, que hace que no me funcione el segundo combo??????????

Muchas gracias de antemano:os dejo el código:
entre <head>
Código PHP:
<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.provincia.selectedIndex){ 
    /*Hacemos una consulta para sacar todas las poblaciones y las vamos a agrupar por  para que no se repitan, y ordenarlas  ascendentemente.*/
     <?php
     $sql
"select id_provincia 
     from provincias
     group by id_provincia
     order by id_provincia"
;
     
$result=mysql_query("$sql",$link) or die(mysql_error());
     
     
$j=0;
     while(
$row=mysql_fetch_array($result)) 
    { 
        
$id_provincia=$row["id_provincia"];
     
?>
     /* Una vez sacado las provincias, realizamos un bucle para que se vallan imprimiendo en el case, y cada vez que se realiza el bucle muestra la siguiente provincia.*/
     case <?php echo $j$j++; ?>
    /*hacemos una consulta para sacar el nombre de la poblacion y el id  donde coincida provincia con el nombre de la provincia sacada en la anterior consulta para  que no me imprima todos los resultados.*/
     <?php 
     $sql_restaurante
="select id_turismo, poblacion
      from oficinas_turismo
      where id_provincia='$id_provincia'"
;
      
      
$result_restaurante=mysql_query("$sql_restaurante",$link) or die(mysql_error());
    
$n=0
    while(
$row_restaurante=mysql_fetch_array($result_restaurante)) {
        
$id_turismo=$row_restaurante["id_turismo"];
                          
$poblacion=$row_restaurante["poblacion"]; 
        
?>
        /*necesitamos sacar la posición  de las poblaciones para saber su orden, para ello cada vez que se imprime , suma una posición a la poblacion. */
        addOpt(oCntrl, <? echo $n;?>, "<?php echo $poblacion?>", "<?php echo $id_turismo?>");
        <?php $n++; 
      }
?>
      break; 
      <?php 
      
}
      
?>
    } 
   } 
  </script>
</head>

Y el formulario:
Código PHP:
<form action="buscador.php" method="post" name="frm" >
                                        <?php  
    $sql
=("select id_provincia, provincia
    from provincias
    group by provincia
    order by provincia"
);
    
$result=mysql_query("$sql",$link) or die(mysql_error());
    
?> 
        <select  name="provincia" class="campos_formulario" onChange="cambia(document.frm.poblacion)"> 
    <?
    $p
=0;
    while(
$row=mysql_fetch_array($result)) 
    { 
        
$id_provincia=$row["id_provincia"];
        
$provincia=$row["provincia"]; 
        
?> 
<option value="<? echo $provincia$p++; ?>"> <?php echo $provincia?></option>
<?
}
?>
   </select>
        
         <!-- Sacamos la poblacion.-->                        
<?php  
    $sql
=("select poblacion
    from oficinas_turismo
    order by poblacion asc
    limit 1"
);
    
$result=mysql_query("$sql",$link) or die(mysql_error());
    
?> 
        <select name="poblacion" class="campos_formulario" > 
    <? 
    
while($row=mysql_fetch_array($result)) 
    {  
        
$id_turismo=$row["id_turismo"];
        
$poblacion=$row["poblacion"];
        
?> 
            <option value="<? echo $id_turismo?>"> <? echo $poblacion?> </option> 
        <? 
    
?>
   </select>
   
    <input name="poblacion" type="hidden" id="poblacion" value="<?php echo $poblacion?>"> 

        <input name="submit" type="submit" value="Buscar">
        
        </form>
MUCHAS GRACIAS DE ANTEMANO!!!
  #2 (permalink)  
Antiguo 09/03/2007, 10:09
Usuario no validado
 
Fecha de Ingreso: marzo-2007
Mensajes: 28
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: problemas con combos dinámicos selectivos

hola
aki te doy mi codigo de select dinamico:

<select onChange="window.location = this.options[this.selectedIndex].value; return true;" name="idcurso">
<option value="?idpais=0">Seleccione</option>
<?
$db_host="localhost";
$db_nombre="nombre";
$db_user="root";
$db_pass="123";
$link=mysql_connect($db_host,$db_user,$db_pass) or die ('Error conectando a la base de datos.');
mysql_select_db($db_nombre ,$link) or die('Error seleccionando la base de datos.');



$result = mysql_query("SELECT * from curso");
while($row = mysql_fetch_array($result))
{
?>
<option value="?idcurso=<?=$row[0]?>" <? if($idcurso==$row[0]){?>selected<?} ?>><?=$row[0]?></option>
<?
}?>
</select>

<select name="alumnos">
<option value="">Seleccione</option>
<?

$result_r = mysql_query("SELECT nombres_alu,apellidos_alu from alumno WHERE COD_CUR = '$idcurso'");
while($row = mysql_fetch_array($result_r))
{
?>
<option value="<?=$row[2]?>"><?=$row["nombres_alu"],$row["apellidos_alu"]?></option>
<?
}?>
</select>



ojala te sirva
bye
chabela,chakbuco,challammmmmmmmmmm
  #3 (permalink)  
Antiguo 09/03/2007, 10:15
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 17 años, 10 meses
Puntos: 6
Re: problemas con combos dinámicos selectivos

mira este post...

ahi sale un link con la solucion dada

http://www.forosdelweb.com/f18/menu-list-dinamico-471506/
__________________
sEIK! -Chile-
Analista Programador.
  #4 (permalink)  
Antiguo 09/03/2007, 11:29
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
Re: problemas con combos dinámicos selectivos

Muchísimas gracias, me ha costado un pelín , pero al fin lo he logrado, gracias por el código me ha servido de mucha ayuda, llevo toda la tarde liada con los combos...XDD que desastre.

Muchas gracias por tu ayuda!!

saludos!
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 03:07.