Foros del Web » Programando para Internet » PHP »

ayuda... actualizar con evento onChange

Estas en el tema de ayuda... actualizar con evento onChange en el foro de PHP en Foros del Web. hola tengo un pequeño problemilla con cargar combos de db en el evento onChange todo me funciona bien solo que cuando escojo la opcion del ...
  #1 (permalink)  
Antiguo 09/10/2007, 17:08
 
Fecha de Ingreso: septiembre-2007
Mensajes: 83
Antigüedad: 12 años, 4 meses
Puntos: 0
ayuda... actualizar con evento onChange

hola tengo un pequeño problemilla con cargar combos de db en el evento onChange

todo me funciona bien solo que cuando escojo la opcion del combo y se carga el otro combo con la nueva informacion se pierde la informacion que tenia el combo anterior y bueno lo ideal seria ke cuando escoja un opcion en el combo y se cargue la informacion en el otro combo no se pierda la informacion del combo anterior espero me puedan ayudar

Código PHP:
<form name="myform">
<?php
include("cn/cn.php");
$rs=mysql_query("select * from compras");
?>
<select name="c1" onChange="submit();">
<option value="0"> -seleccionar- </option>

<?php
while($row=mysql_fetch_array($rs)){
?>
<option value="<?php echo $row['compras'?>"><?php echo $row['compras'?></option>
<?php
}
?>
</select>

<?php 
        
@$rs1=mysql_query("select * from lista where compras='$c1'");
        print 
"<select name='select' onChange='submit()'>".
              
"<option value='0'> -seleccionar- </option>";
        
        while(
$fila=mysql_fetch_array($rs1)){
?>        
    <option value="<?php echo $fila['prod'?>"><?php echo $fila['prod'?></option>
<?php            
        
}
        
        print 
"</select>";
?>



<?php 
        
@$rsss=mysql_query("select * from des where prod='$select'");
        print 
"<select name='sel'>".
              
"<option value='0'> -seleccionar- </option>";
        
        while(
$ex=mysql_fetch_array($rsss)){
?>        
    <option value="<?php echo $ex['tipo'?>"><?php echo $ex['tipo'?></option>
<?php            
        
}
        
        print 
"</select>";
?>
</form>
un saludo
  #2 (permalink)  
Antiguo 10/10/2007, 18:27
 
Fecha de Ingreso: septiembre-2007
Mensajes: 52
Antigüedad: 12 años, 4 meses
Puntos: 2
Re: ayuda... actualizar con evento onChange

Según lo entiendo, lo que quieres es que ciertos elementos <option> incluyan el atributo selected, de acuerdo a las selecciones que el usuario vaya activando.

En ese caso, el ajuste no resulta muy complicado. Te doy un par de ejemplos en base al código que has publicado, y que espero te sirvan de guía y sean fáciles de entender.

En lugar de este segmento de código:

Código PHP:
<?php
while($row=mysql_fetch_array($rs)){
?>
<option value="<?php echo $row['compras'?>"><?php echo $row['compras'?></option>
<?php
}
?>
Prueba algo así:

Código PHP:
<?php
while($row=mysql_fetch_array($rs)){
    if (isset (
$_REQUEST['c1']) && $_REQUEST['c1'] == $row['compras'])
        
$activo ' selected="selected"';
    else
        
$activo '';

    echo <<<FIN_HTML
<option value="{$row['compras']}"{$activo}>{$row['compras']}</option>
FIN_HTML;

}
?>

Y, en lugar de este segmento:

Código PHP:
        while($fila=mysql_fetch_array($rs1)){
?>        
    <option value="<?php echo $fila['prod'?>"><?php echo $fila['prod'?></option>
<?php            
        
}
        print 
"</select>";
Prueba con:

Código PHP:
        while($fila=mysql_fetch_array($rs1)){
            if (isset (
$_REQUEST['select'])
                && 
$_REQUEST['select'] == $fila['prod'])
                
$activo ' selected="selected"';
            else
                
$activo '';

            echo <<<FIN_HTML
    <option value="{$fila['prod']}"{$activo}>{$fila['prod']}</option>
FIN_HTML;
        }

        print 
"</select>"
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 13:50.