Foros del Web » Programando para Internet » PHP »

Select Option

Estas en el tema de Select Option en el foro de PHP en Foros del Web. Saludos... TEngo la siguiente inquietud... Ahi alguna forma de pegar varios select option a una sola consulta sql, con el fin de ahorrar velocidad en ...
  #1 (permalink)  
Antiguo 27/10/2006, 10:06
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Select Option

Saludos...

TEngo la siguiente inquietud... Ahi alguna forma de pegar varios select option a una sola consulta sql, con el fin de ahorrar velocidad en ejecucion

Código PHP:

    <select id="selnoa" name="selnoa" style="display:none">
                  <?php
         
//Consulta de Nombre nobre Tecnico
            
$consulta mysql_query("select ara_cod,f10_nom_tec from datos_forma where ter_nit ='$nit' AND tip_cer_cod='$forma'"$link);
                    while (
$fila mysql_fetch_array($consulta))
                    {
                        echo 
"<option>".$fila['ara_cod']." - ".$fila['f10_nom_tec']. "</option>";
                    }
                   
?>
                </select>


          <select id="selcri" name="selcri" style="display:none">
                  <?php
         
//Consulta Norma
            
$consulta mysql_query("select ara_cod,nor_cri_des from datos_forma where ter_nit ='$nit' AND tip_cer_cod='$forma'"$link);
                    while (
$fila mysql_fetch_array($consulta))
                    {
                        echo 
"<option>" .$fila['ara_cod']." - " $fila['nor_cri_des']."</option>";
                    }
                  
?>
                </select>
Agradezco cualquier ayuda posible

Gracias y hasta pronto
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #2 (permalink)  
Antiguo 27/10/2006, 10:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No entendí mucho lo que quieres expresar ..

En principio "no pegas" a una consulta SQL un "option" .. sino que con PHP generas ese "HTML" de opciones para un "<select>" en función de los resultados que obtienes de una consulta SQL dada.

Al "parecer" .. para uno de tus "<select>" de la misma -tabla- obtienes ciertos datos .. y para otro .. otros datos (campos en concreto) de la misma tabla.

Si es así .. podrías hacer UNA consulta SQL sóla donde obtengas todos los campos de esa tabla que puedas necesitar (en el peor de los casos).

Se trata de hacer una consulta SQL con todos los campos involucrados en todos los casos y mover el puntero interno del resultado (el cual vas moviendo y quedará al final del primer "mysql_fetch_xxxx()" que hagas ..) al principio del resultado (puntero).

Para esto puedes usar la función: mysql_data_seek()

Quedaría algo tipo:

Código PHP:
<select id="selnoa" name="selnoa" style="display:none"> 
                  <?php 
         
// Haces tu consulta SQL .. incluye todos los campos que necesites en todos los casos.
            
$consulta mysql_query("select ara_cod,f10_nom_tec,nor_cri_des from datos_forma where ter_nit ='$nit' AND tip_cer_cod='$forma'"$link); 

                    while (
$fila mysql_fetch_array($consulta)) 
                    { 
                        echo 
"<option>".$fila['ara_cod']." - ".$fila['f10_nom_tec']. "</option>"
                    } 

            
// reinicias el puntero del resultado al principio.
            
mysql_data_seek($consulta,0);
            
// así lo dejas listo para el próximo uso ...
                   
?> 
                </select> 
          <select id="selcri" name="selcri" style="display:none"> 
                  <?php 
          
// aquí ya no ejecutas nuevamente la consulta SQL .. sólo recorres sus resultados.
           
while ($fila mysql_fetch_array($consulta)) 
                    { 
                        echo 
"<option>" .$fila['ara_cod']." - " $fila['nor_cri_des']."</option>"
                    } 
                  
?> 
                </select>
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 15:18.