Foros del Web » Programando para Internet » PHP »

Select box conectados

Estas en el tema de Select box conectados en el foro de PHP en Foros del Web. A ver, aqui esta el pesado de turno , veamos, tengo dos select box conectados a una base de datos, la cuestion es que segun ...
  #1 (permalink)  
Antiguo 23/09/2005, 10:23
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Select box conectados

A ver, aqui esta el pesado de turno , veamos, tengo dos select box conectados a una base de datos, la cuestion es que segun el valor que se seleccione en uno el otra debera mostrar unos valores determinados, el problema me surge por que la persona que diseño la base de datos coloco todos los datos en la misma tabla, asignando un parentid para la conexion entre los datos, la cuestion es que los que estan en el primer select box son los que tienen este parentid igual a 0, y para selecionarlos no hay problema, despues los del segundo select box son aquellos que tienen su parentid igual al id del seleccionado en el primer textbox, y aqui es donde estoy atascado, ¿alguien podia ayudarme con esto?.

Gracias.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #2 (permalink)  
Antiguo 23/09/2005, 11:17
 
Fecha de Ingreso: marzo-2004
Ubicación: Extremadura
Mensajes: 206
Antigüedad: 20 años
Puntos: 0
Échale un ojo al código a ver si te sirve:

Código:
<select name="sel1" onChange="window.location='pagina.php?sel1='+nuevaAccion.sel1.value;">
	<option selected>Selecciona uno</option>
	<? while ($opt = mysql_fetch_array($resul) ) { 
		if ($_GET['tipo'] == $opt['id']) { ?>
		<option value="<? echo $opt['id']; ?>" selected><? echo $opt['nombre']; ?></option>
	        <? } else { ?>
		<option value="<? echo $opt['id']; ?>"><? echo $opt['nombre']; ?></option>
		<? } 
	     }  // del while ?>
</select>


<? if ( !isset($_GET['tipo']) ) { ?>
<select name="indicador" class="normal">
	<option selected>Selecciona primero el otro</option>
</select>
<? } else { ?>
<select name="indicador" class="normal">
	<option selected>Selecciona uno</option>
	<? while ($opt2 = mysql_fetch_array($resul) ) { ?>
	<option value="<? echo $opt2['id']; ?>"><? echo $opt2['id']; ?></option>
	<? } ?>
</select>
<? } ?>
  #3 (permalink)  
Antiguo 26/09/2005, 08:44
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
A ver, haciendo unas pequeñas modificaciones puse el siguiente codigo:
Código PHP:
<select name="cid" class="boton" onChange="window.location='anuncio2.php?cid='+nuevaAccion.cid.value;">
<option>-- Secci&oacute;n --</option>
<?
    
//Sentencia SQL
    
$ssql "SELECT parentid, title, cid FROM anuncios_categorias GROUP BY parentid HAVING Count(parentid) > 1 Order by parentid";
    
//Ejecuto la sentencia
    
$result mysql_query($ssql,$conn);
    
//Mostramos los registros
    
while ($row=mysql_fetch_array($result))
    {
        echo 
'<option value ='.$row['cid'].'>'.$row['title'].'</option>';
    };
    
?>
</select>                        
    <? if ( !isset($_GET['parentid']) ) { ?>  
<select name="sid" class="boton">
<option>-- Sub-secci&oacute;n --</option>
</select>
    <? } else { ?>
        <select name="sid" class="boton">
                <option selected>Selecciona Sub-secci&oacute;n</option>
        <? while ($opt2 mysql_fetch_array($resul) ) {
            echo 
'<option value='.$opt2['cid'].'>'.$opt2['title'].'</option>';
             };
        };                          
        
?>                            
</select>
tuve que quitar el if del primer select por que si no no me los cargaba, pero aun asi no va, no me carga los datos en el segundo,¿alguien puede echarme una mano?.
Gracias.

Nota: arriba es cid.value, todo junto.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #4 (permalink)  
Antiguo 26/09/2005, 09:09
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Alguna vez hice eso ocupando una sola tabla: http://www.forosdelweb.com/f13/hola-como-genero-drop-down-partir-otro-268405/

Espero te sirva.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #5 (permalink)  
Antiguo 27/09/2005, 05:36
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
Cita:
Iniciado por jam1138
Alguna vez hice eso ocupando una sola tabla: http://www.forosdelweb.com/showthread.php?t=268405

Espero te sirva.
Hola jam1138, gracias por tu ayuda, pero no me funciona, te explico, uso el siguiente codigo Javascript:
Código HTML:
<script language="javascript">
	function recarga(){
		window.location = "<? echo $_SERVER['PHP_SELF'].'?user='.$user; ?>&var="+document.form1.cid.value;
		onChange="location.reload()";
	}
</script> 
y en los selects:
Código PHP:
<select name="cid" id="cid" class="boton" onChange="recarga()">
                            <option value="elija">-- Secci&oacute;n --</option>
                            <?
                            $var
=$_GET["var"];    
                            
//Sentencia SQL
                                
$ssql "SELECT parentid, title, cid FROM anuncios_categorias GROUP BY parentid HAVING Count(parentid) > 1 Order by parentid";
                            
//Ejecuto la sentencia
                                
$result mysql_query($ssql,$conn);
                            
                            
//Mostramos los registros
                                
while ($row=mysql_fetch_array($result))
                                {
                                    echo 
'<option value ='.$row['cid'].'>'.$row['title'].'</option>';
                                };
                            
?>
                          </select>                        
                          <? if(!empty($var)){
                                
$var=$_GET["var"];
                                
$sql2="SELECT parentid, title, cid FROM anuncios_categorias where cid='$var'";
                                
$result2=mysql_db_query("tabla",$sql2);
                            
?>  
                              <select name="sid" id="sid" class="boton">
                            <option>Selecciona Sub-secci&oacute;n</option>
                            <? while ($row2=mysql_fetch_array($result2)){
                                    echo 
'<option value ='.$row2['cid'].'>'.$row2['title'].'</option>';
                                };                                                        
                            
?>                            
                          </select>
                          <? };
                          
?>
la cuestion es que el primer select aparece y funciona, pero el segundo ni siquiera aparece.¿?¿?¿?.
¿alguien puede ayudarme?, le estare agradecido.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #6 (permalink)  
Antiguo 07/10/2005, 02:42
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 18 años, 10 meses
Puntos: 7
¿alguien puede echarme una mano y explicarme por que no funciona?o darme alguna pista. Gracias.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
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 17:54.