Foros del Web » Programando para Internet » PHP »

Query en combobox

Estas en el tema de Query en combobox en el foro de PHP en Foros del Web. Buenas, posteaba porque necesito una mano con un problema que me surgio: Yo necesito hacer un listado de 60 comboboxes, a su vez cada uno ...
  #1 (permalink)  
Antiguo 10/05/2006, 13:57
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
Pregunta Query en combobox

Buenas, posteaba porque necesito una mano con un problema que me surgio:

Yo necesito hacer un listado de 60 comboboxes,

a su vez cada uno de estos comboboxes se genera con un listado enorme de items obtenidos de una base de datos, como resultado obtengo que genero efectivamente el listado de comoboboxes pero tarda una barbaridad en aparecer este sistema en pantalla!

El script que armé es así:

Código PHP:
  for($i=1$i<=60$i++){
  
                  echo
'<tr><td>' $i '</td><td>'
               
                 
// INICIO SELECT
                 
                 
echo'<select name="'.$i.'">';
                
                                
$query_="SELECT id_socio,nombre,apellido FROM socios ORDER BY apellido ASC";
                 
                 
$result_mysql_db_query($db,$query_,$link);
                 
                 
//echo $query;                              
                 
                      
while($row_=mysql_fetch_array($result_)){

                                    echo
'<option value="' $row_["id_socio"] . '"';                                    
                                    
                                    echo
'>' $row_["apellido"] . ', ' $row_["nombre"] . ' . '</option>';
                                    
                      };
                 
               echo'
</select>';
               
               echo'
</tr>;
               
    }; 
tambien probé sacando el query fuera del bucle, pero consegui generar solo el primer combobox:

Código PHP:
    $query_="SELECT id_socio,nombre,apellido FROM socios ORDER BY apellido ASC";

 for(
$i=1$i<=60$i++){
  
                  echo
'<tr><td>' $i '</td><td>'
               
                 
// INICIO SELECT
                 
                 
echo'<select name="'.$i.'">';
                
              
                 
                 
$result_mysql_db_query($db,$query_,$link);
                 
                 
//echo $query;                              
                 
                      
while($row_=mysql_fetch_array($result_)){

                                    echo
'<option value="' $row_["id_socio"] . '"';                                    
                                    
                                    echo
'>' $row_["apellido"] . ', ' $row_["nombre"] . ' . '</option>';
                                    
                      };
                 
               echo'
</select>';
               
               echo'
</tr>;
               
    }; 

Si alguien tiene un consejo, se agradece!

saludos!
  #2 (permalink)  
Antiguo 10/05/2006, 14:36
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

¿Cual es la finalidad de lo que ests haciendo?
Detalla un poco mas tu problema porfavor

Saludos
  #3 (permalink)  
Antiguo 10/05/2006, 14:43
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 15 años, 7 meses
Puntos: 7
No entiendo realmente el por que lo haces pero yo haria esto:

$sselect="<select>";
$query_="SELECT id_socio,nombre,apellido FROM socios ORDER BY apellido ASC";
$result_= mysql_db_query($db,$query_,$link);
while ($row_=mysql_fetch_array($result_)) {
$sselect=$sselect."<option value=".$row_["id_socio"].">".$row_["apellido"].", ".$row_["nombre"]."</option>";
};
$sselect=$sselect."</select>";

y luego haria el for reemplazando <select> en $sselect con <select name=(nombre)> segun necesite
__________________
No tengo firma ahora... :(
  #4 (permalink)  
Antiguo 16/05/2006, 14:20
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
Hola Mauled, la finalidad es hacer un listado de 60 socios mediante 60 comboboxes.

Esto lo pidieron asi para que el data entry pueda tener total facilidad de edicion.

Saludos!
  #5 (permalink)  
Antiguo 16/05/2006, 14:34
 
Fecha de Ingreso: mayo-2006
Mensajes: 34
Antigüedad: 11 años, 7 meses
Puntos: 0
Cita:
Iniciado por Mickel
No entiendo realmente el por que lo haces pero yo haria esto:

$sselect="<select>";
$query_="SELECT id_socio,nombre,apellido FROM socios ORDER BY apellido ASC";
$result_= mysql_db_query($db,$query_,$link);
while ($row_=mysql_fetch_array($result_)) {
$sselect=$sselect."<option value=".$row_["id_socio"].">".$row_["apellido"].", ".$row_["nombre"]."</option>";
};
$sselect=$sselect."</select>";

y luego haria el for reemplazando <select> en $sselect con <select name=(nombre)> segun necesite
Buenisima idea Mickel!

Resultó, de esta manera puedo repetir indefinidas veces el <select> pero utilizando solo una llamada a la base!!!

Graciaaaas!
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 19:29.