Programación Web y Scripting > PHP
Select Dinamicos?
neorent:
que tal amigos del foro, bueno tengo una consulta, tengo tres select los cuales llenos a traves de tres tablas, ejemplo tbl_area select area, tbl_direccion, select direccion, tbl_unidad, select unidad, bueno todos tienen sus campos definidos, ej: tbl_area "id_area,des_area", tbl_direccion "id_direccion,des_direccion,id_area2", tbl_unidad("id_unidad, des_unidad"), lo que yo quiero es que si un usuario en el primer select seleciona un valor, este automaticamente carge al segundo select y el tercero se cargue con el valor del segundo select, bueno lo he intentado pero no me funciona como quiero asi que les muestro mas o menos lo que quiero hacer:
tbl_area: tbl_direccion tbl_unidad
id_area des_area id_direccion des_direccion id_area2 id_unidad des_unidad
1 casa 1 baño 1 1 tina
2 patio 2 pieza 1 2 lavamanos
3 piscina 3 arbol 2 3 fruta
4 planta 2 4 hojas
5 agua 3 5 cloro
6 quitasol 3 6 filtro
bueno si se dan cuenta los id son parecidos y les paso a explicar, el id_area tiene tres valores cierto, bueno la tbl_direcciones tiene dos id uno para el area y la otra para las direcciones, y la tbl_unidad tiene un solo id, bueno yo quiero que esto haga lo siguiente si selecciono en el primer selecr el valor 1 quiero que en el select dos me cargue los valores que sean igual a este pero del id_area2 y en el tercer select quiero que me cargue los valores pero de id_unidad sea igual a id_direccion, tengo un code que lo hace pero no me lo carga entonces estoy muy perdido y no se que hacer en este caso, les agradadeceria que me puedan guiar o si el usuario seleciona el primer select como le paso el valor al segundo select para hacer la consulta y haci al tercero bueno si tiene alguna idea de como se hace se los agradeceria ya que me tiene mareado esto asi eso amigos muchas gracias a todos adios.
pd: les dejo mi code donde los cargo pero no se como hacer para tomar los valores asi que me pueden indicar que hacer o cambiar gracias
--- Código: Text --- <html> <head> <title>Ingreso Solicitud</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"><!--.Estilo1 {color: #00CCFF}--></style></head> <body bgcolor="#14285f"><body><p></p> <?php include("formato.php"); ?> <?php CabeceraPagina(); ?> <h3 align="center" class="Estilo1"> INGRESO DE SOLICITUDES </h3><FORM ACTION="muestrafolio.php"> <TABLE> <TR> <TD width="129">NOMBRE SOLICITANTE: </TD> <TD width="428"><INPUT NAME="nombre" TYPE="text" id="nombre" tabindex="1" SIZE="50" MAXLENGTH="100"></TD> </TR><TR> <TD>AREA:</TD> <TD><?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_area ORDER BY `id_area` ASC "); echo '<select name="area" tabindex="2">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["des_area"];} echo "</select>"; mysql_free_result($result); ?> </TD></TR><TR> <TD>DIRECCION: </TD> <TD><?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_direcciones ORDER BY `id_area2` ASC "); echo '<select name="direccion"tabindex="3"readonly="true">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["des_direccion"];} echo "</select>"; mysql_free_result($result);?></TD></TR><TR> <TD>UNIDAD / DEPTO. </TD> <TD><?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_unidades ORDER BY `id_unidad` ASC "); echo '<select name="unidad"tabindex="4">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["des_unidad"];} echo "</select>"; mysql_free_result($result); ?></TD></TR><TR> <TD>EDIFICIO</TD> <TD> <?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_edificio ORDER BY `id_edificio` ASC "); echo '<select name="edificio" tabindex="5">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["des_edificio"];} echo "</select>"; mysql_free_result($result); ?></TD></TR><TR> <TD>PISO:</TD> <TD><?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_pisos ORDER BY `id_piso` ASC "); echo '<select name="piso" tabindex="6">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["des_piso"];} echo "</select>"; mysql_free_result($result); ?></TD></TR><TR> <TD>CORREO ELECTRONICO: </TD> <TD><input name="correo" type="text" id="correo" tabindex="7" size="20" maxlength="30"></TD></TR><TR> <TD>TIPO REQUERIMIENTO :</TD> <TD><?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_fallas ORDER BY `id_falla` ASC "); echo '<select name="requerimiento" tabindex="8">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["desc_falla"];} echo "</select>"; mysql_free_result($result); ?></TD></TR><TR> <TD>FONO / ANEXO : </TD> <TD><input name="fono" type="text" id="fono" tabindex="9" size="10" maxlength="10"></TD></TR><TR> <TD>FECHA SOLICITUD : </TD> <TD><input name="fecha" type="text" id="fecha" tabindex="10" value="<?php echo date("d/m/Y")?>" readonly="true"></TD></TR><TR> <TD>HORA SOLICITUD :</TD> <TD><input name="hora" type="text" id="hora" tabindex="11" value="<?php echo date("H:i:s")?>" readonly="true"></TD></TR></TABLE> <input type="submit" name="save" value="Grabar"></FORM> <?php PiePagina(); ?></body> </html>
ArKaNtOs:
Hola neorent :) mira aqui, es casi lo mismo ;)
http://foros.solocodigo.com/index.php?showtopic=24090
neorent:
--- Cita de: "ArKaNtOs" --- Hola neorent :) mira aqui, es casi lo mismo ;)
http://foros.solocodigo.com/index.php?showtopic=24090
--- Fin de la cita ---
mmm sip tienes toda la razon, ya lo probe pero al momento de seleccionar un select, no quiero que me mande a otra pagina, tonces lo que yo quiero es que quede en un formulario el cual despues mandare los datos listos para almacenar, y no me resulta con el code que tu me indicas, ademas se supone que cuando uno hace un formulario la accion es post no get? o no? y bueno en este formulario esta con la accion get y yo necesito que la opcion se post para luego enviarlo a una pagina para grabarlo no se si se entiende, bueno te lo que a mi me hace es seleccionar la tabla y parece que lo hace bien pero no estoy recibiendo el valor del area en el caso de que sea 1 o 2 o 3 etc. y no lo puedo obtener asi que por eso no me funciona creo yo use GET y REQUEST pero tampoco funciona bueno te dejo el code para que me digan donde estoy fallando gracias adios amigos
PD: no tengo idea donde esta fallando :P
--- Código: Text --- <html> <head> <title>Ingreso Solicitud</title> <script LANGUAGE="JavaScript">function ir(sitio){document.location.href = sitio.options[sitio.selectedingreso_db].value}</script><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css"><!--.Estilo1 {color: #00CCFF}--></style></head> <body bgcolor="#14285f"><body><p></p> <?php include("formato.php"); ?> <?php CabeceraPagina(); ?> <h3 align="center" class="Estilo1"> INGRESO DE SOLICITUDES </h3><FORM ACTION="muestrafolio.php" method="get"> <TABLE> <TR> <TD width="129">NOMBRE SOLICITANTE: </TD> <TD width="428"><INPUT NAME="nombre" TYPE="text" id="nombre" tabindex="1" SIZE="50" MAXLENGTH="100"></TD> </TR><TR> <TD>AREA:</TD> <TD><?php$link = mysql_connect("localhost", "root", "");mysql_select_db("db_soporte", $link);echo "<select name='area' id='area' onChange='ir(this.form.area)'>";echo "<option>Seleccione Area</option>";$result=mysql_query("SELECT * FROM tbl_area", $link)or die (mysql_error());while ($row=mysql_fetch_array($result)) {$idarea = $row["id_area"];$desarea = $row["des_area"];echo "<option value=\"$idearea\">$desarea</option>";}echo "</select>";?> </TD></TR><TR> <TD>DIRECCION: </TD> <TD><?phpecho "<select name='direccion' id='direccion'>";echo "<option>Selecione Direccion</option>";$idearea = $_REQUEST["variable"];$results=mysql_query("SELECT * FROM tbl_direcciones WHERE id_area2 = '$idearea'", $link)or die (mysql_error());while ($row=mysql_fetch_array($results)) {$direccion= $row["des_direccion"];$iddireccion = $row["id_direccion"];echo "<option value=\"$iddireccion\">$direccion</option>";}echo "</select>";?></TD></TR><TR> <TD>UNIDAD / DEPTO. </TD> <TD><?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_unidades ORDER BY `id_unidad` ASC "); echo '<select name="unidad"tabindex="4">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["des_unidad"];} echo "</select>"; mysql_free_result($result); ?></TD></TR><TR> <TD>EDIFICIO</TD> <TD> <?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_edificio ORDER BY `id_edificio` ASC "); echo '<select name="edificio" tabindex="5">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["des_edificio"];} echo "</select>"; mysql_free_result($result); ?></TD></TR><TR> <TD>PISO:</TD> <TD><?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_pisos ORDER BY `id_piso` ASC "); echo '<select name="piso" tabindex="6">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["des_piso"];} echo "</select>"; mysql_free_result($result); ?></TD></TR><TR> <TD>CORREO ELECTRONICO: </TD> <TD><input name="correo" type="text" id="correo" tabindex="7" size="20" maxlength="30"></TD></TR><TR> <TD>TIPO REQUERIMIENTO :</TD> <TD><?php $link=mysql_connect("localhost","root", ""); $link1=mysql_select_db("db_soporte",$link); $result=mysql_query("select * from tbl_fallas ORDER BY `id_falla` ASC "); echo '<select name="requerimiento" tabindex="8">'; //Generamos el menu desplegable while ($row=mysql_fetch_array($result)) {echo '<option>'.$row["desc_falla"];} echo "</select>"; mysql_free_result($result); ?></TD></TR><TR> <TD>FONO / ANEXO : </TD> <TD><input name="fono" type="text" id="fono" tabindex="9" size="10" maxlength="10"></TD></TR><TR> <TD>FECHA SOLICITUD : </TD> <TD><input name="fecha" type="text" id="fecha" tabindex="10" value="<?php echo date("d/m/Y")?>" readonly="true"></TD></TR><TR> <TD>HORA SOLICITUD :</TD> <TD><input name="hora" type="text" id="hora" tabindex="11" value="<?php echo date("H:i:s")?>" readonly="true"></TD></TR></TABLE> <input type="submit" name="save" value="Grabar"></FORM> <?php PiePagina(); ?></body> </html>
ArKaNtOs:
--- Citar ---mmm sip tienes toda la razon, ya lo probe pero al momento de seleccionar un select, no quiero que me mande a otra pagina, tonces lo que yo quiero es que quede en un formulario el cual despues mandare los datos listos para almacenar, y no me resulta con el code que tu me indicas, ademas se supone que cuando uno hace un formulario la accion es post no get? o no? y bueno en este formulario esta con la accion get y yo necesito que la opcion se post para luego enviarlo a una pagina para grabarlo no se si se entiende, bueno te lo que a mi me hace es seleccionar la tabla y parece que lo hace bien pero no estoy recibiendo el valor del area en el caso de que sea 1 o 2 o 3 etc. y no lo puedo obtener asi que por eso no me funciona creo yo use GET y REQUEST pero tampoco funciona bueno te dejo el code para que me digan donde estoy fallando gracias adios amigos
--- Fin de la cita ---
si lo mandas con get pero el valor que va a tener el otro select, y no vas a otra pagina, si puedes enviar el valor al mismo sitio como una recarga :) ahora lo unico que hace falta decir es que el formulario lo enviaras con POST pero el valor del otro select lo obtendras en ese mismo sitio con una variable GET
neorent:
SI entiendo que tengo que pasarlo con post, y que el get se utilizaria para recuperar el valor de la variable correcto no?, en este caso para recuperar el valor del area.
--- Código: Text --- <?php$link = mysql_connect("localhost", "root", "");mysql_select_db("db_soporte", $link);echo "<select name='area' id='area' onChange='ir(this.form.area)'>";echo "<option>Seleccione Area</option>";$result=mysql_query("SELECT * FROM tbl_area", $link)or die (mysql_error());while ($row=mysql_fetch_array($result)) {$idarea = $row["id_area"];$desarea = $row["des_area"];echo "<option value=\"$idearea\">$desarea</option>";}echo "</select>";// aqui donde lo mando o como lo mando??> <?phpecho "<select name='direccion' id='direccion'>";echo "<option>Selecione Direccion</option>";$idearea = $_GET["variable"];//aqui deberia recibir el valor de la varible pero no lo toma.$results=mysql_query("SELECT * FROM tbl_direcciones WHERE id_area2 = '$idearea'", $link)or die (mysql_error());while ($row=mysql_fetch_array($results)) {$direccion= $row["des_direccion"];$iddireccion = $row["id_direccion"];echo "<option value=\"$iddireccion\">$direccion</option>";}echo "</select>";?>
Navegación
[#] Página Siguiente
Ir a la versión completa