Foros del Web » Programando para Internet » PHP »

Select dinamico en desplegado dinamico

Estas en el tema de Select dinamico en desplegado dinamico en el foro de PHP en Foros del Web. Hola tal vez el titulo no diga mucho o no sepa expresarme muy bien pero lo que quiero saber si se puedo y como es ...
  #1 (permalink)  
Antiguo 02/08/2008, 10:38
 
Fecha de Ingreso: abril-2006
Mensajes: 134
Antigüedad: 18 años
Puntos: 0
Select dinamico en desplegado dinamico

Hola tal vez el titulo no diga mucho o no sepa expresarme muy bien pero lo que quiero saber si se puedo y como es lo siguiente

tengo que hacer un script donde pueda recojer hasta 30 nombres de departamentos, y otras opciones mas que capturar pero como puede ser que solo se registre 1 como 2 o mas hasta 30 lo pongo en un desplagado dinamico es decir lo hago de esta manera

Código PHP:
echo "<form name='form1' action='prueba1.php' method='post'>";
echo 
"<table align='center' width='850' border = '0'>";
echo 
"<tr class='tabla_head'>";
echo 
"<td><div align='center'>Departamento</div></td>";
echo 
"<td><div align='center'>Tecnico</span></div></td>"
echo 
"</tr>";
$Dep="<input type='text' name='depto[]'>";
for(
$i=0;$i<=30;$i++){ 
echo 
"<tr>
echo "
<td><div align='center'>", $Dep,"</div></td>"; 
echo "
<td><div align='center'>", $Tec,"</div></td>"; 
echo "
</tr>
}
echo 
"<td><div align='center'><input type='submit' name='Submit' value='Enviar'></div></td>";        
echo 
"</table>";    
echo 
"</form>"
Asi hago el desplegado y la variable $Dep no hay problema solo es un campo de texto que se repite tantas veces como el for, pero en la variable $Tec necesito desplegar un combobox o select mismo que su llenado sea dinamico (mediante una consulta SQL) esto ya lo he hecho y queda de la siguiente foma:

Código PHP:
echo'<select name="Nick" id="Nick"> ';
        <
option selected>Nada</option>
        
$SQL="SELECT * FROM tusuarios WHERE(Visible = 1)";
        
$res=mysql_query($SQL,$conn);    if(!$res)
        die(
"Error en la busqueda de usuarios" mysql_error());        
        while(
$row mysql_fetch_array($res,MYSQL_ASSOC)){
        
$op="<option value='".$row["nick"]."'>";
        
$op.=$row["Nombre"].$S.$row["Paterno"].$S.$row["Materno"];
        echo 
$op.="</option>";
        }
  echo</
select
Con esto lleno el Select dependiendo de la consulta claro, esto lo he mostrado en formularios pero siempre de forma estatica es decir solo aparece una vez este select por formulario.

La cuestion ahorita es que necesito que aparesca tantas veces como el for lo indique en este caso 30 veces obviamente se que en el nombre del select debe de llevar [] de esta forma
Código PHP:
<select name="Nick[]" id="Nick"
para poder recojer los datos despues al ser enviado el formulario, todo el siguiente o siguientes pasos ya los tengo no hay problema por eso pero no logro hacer que el select se muestre 30 veces o las veces que se le indiquen.

Ya que no he podido meter el codigo del select que pongo arriba en la variable $Tec.

Imagino que se puede por que se que he estado cerca pero la veradad ya la cabeza me da vueltas y mejor pido ayuda y claro akien mas si no a ustedes.

Mil gracias de antemano por si responden esta duda y por todas las demas que ya han respondido.
  #2 (permalink)  
Antiguo 03/08/2008, 17:17
 
Fecha de Ingreso: julio-2008
Ubicación: México
Mensajes: 150
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Select dinamico en desplegado dinamico

No se si entendi bien, pero podria ser asi:
Código PHP:
for($i=0;$i<30;$i++)
{
echo 
'<select name="Nick[]">
           <option value="algunvalor">algunaetiqueta</option>
         </select>

         '
;

  #3 (permalink)  
Antiguo 04/08/2008, 10:34
 
Fecha de Ingreso: abril-2006
Mensajes: 134
Antigüedad: 18 años
Puntos: 0
Respuesta: Select dinamico en desplegado dinamico

Hola Pixcel1 si esa seria una forma de poder hacerlo pero seria estatico veras en el codigo que posteas uno debe llenar el select a mano pero lo que intento hacer es que se llene mediante una consulta a MySQL, de esta forma puedo controlar que en el momento en que se de de alta una persona mas dentro del sistema solo tengan que agregarla al sistema y ya no tendria que estar modificando mi codigo del select.

Gracias por tu respuesta pero lo que intento es que sea dinamico y dependa de la consulta a la base de datos y no de mi o alguien mas que tenga que estar añadiendo opciones a mano. Mil gracias por tu respuesta solo que eso no es lo que busco.

Espero alguien pueda ayudarme o Yo lograrlo y posteo como gracias.
  #4 (permalink)  
Antiguo 04/08/2008, 11:06
Avatar de Lord Kazuky  
Fecha de Ingreso: junio-2006
Ubicación: 7F.00.00.01
Mensajes: 123
Antigüedad: 17 años, 10 meses
Puntos: 5
Respuesta: Select dinamico en desplegado dinamico

Esto puedes hacerlo de varias formas:

1. Guardar el HTML que generaste (el del SELECT) en una variable (sin usar echo) y luego la imprimes donde la necesites:

Código PHP:
$miSelect '<select name="Nick" id="Nick"> '.
        <
option selected>Nada</option>';

        $SQL="SELECT * FROM tusuarios WHERE(Visible = 1)";
        $res=mysql_query($SQL,$conn);    if(!$res)
        die("Error en la busqueda de usuarios" . mysql_error());        
        $op="";
while($row = mysql_fetch_array($res,MYSQL_ASSOC)){
        $op.="<option value='".$row["
nick"]."'>";
        $op.=$row["Nombre"].$S.$row["Paterno"].$S.$row["Materno"];
        $op.="</option>";
        }
$miSelect .= $op . '
</select
Luego donde necesites el select simplmente:
Código PHP:
<?php echo $miSelect ?>
2. Como seguramente necesitaras muchos selects distintos de diferentes tablas, puedes crear una funcion que te devuelva el HTML, de un select que necesitas de determinada tabla que indiques como parametro.
__________________
Saludos.
"Cualquier tonto puede escribir código que un computador entiende. Los buenos programadores escriben código que los humanos pueden entender. ;)"
  #5 (permalink)  
Antiguo 04/08/2008, 11:22
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 16 años, 1 mes
Puntos: 15
Respuesta: Select dinamico en desplegado dinamico

La verdad no entendi muy bien, segun entiendo... lo que deseas es actualizar de forma Live o dinamica como le llamas un selec, segun se ingresen datos en una tabla de tu base dedatos?

Si es asi, hay que aplicar ajax...

Especificas un intervalo de tiempo, para que se este revisando si la lista de tu base de datos a cambiado(esto mediante ajax) y php que se encarge de verificar la en base de datos, si devuelve true...

Llama a una funcion que carga la nueva informacion, y mediante DOM actualizas el listado sin recargar tu pagina...

Con testame si es o no lo que buscas y podre ayudarte.

Sali un momento a comprar algo, regreso en 10 min. y reviso tu resp.

Última edición por SPAWN3000; 04/08/2008 a las 11:28
  #6 (permalink)  
Antiguo 04/08/2008, 12:09
Avatar de jeanclon  
Fecha de Ingreso: mayo-2005
Mensajes: 258
Antigüedad: 18 años, 10 meses
Puntos: 2
Respuesta: Select dinamico en desplegado dinamico

Ya va hay algo que no entiendo bien, si pones el combo dentro del for no te aparece 30 veces??? o que es lo que no te aparece.
Por cada combo requieres una consulta sql distinta?
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 21:12.