Estimados, necesito ayuda con este select dinamico, Code: <select name="region" id="region_id" method="get"> <option value="">Selecciona</option> <option value="1">Tarapacá</option> <option value="2">Antofagasta</option> <option value="3">Atacama</option> <option value="4">Coquimbo</option> <option value="5">Valparaíso</option> <option value="6">Región del Libertador Gral. Bernardo O'Higgins</option> <option value="7">Región del Maule</option> <option value="8">Región del Biobío</option> <option value="9">Región de la Araucanía</option> <option value="10">Región de Los Lagos</option> <option value="11">Región Aisén del Gral. Carlos Ibáñez del Campo</option> <option value="12">Región de Magallanes y de la Antártica Chilena</option> <option value="13">Región Metropolitana de Santiago</option> <option value="14">Región de Los Ríos</option> <option value="15">Arica y Parinacota</option> </select> </td> </tr> <tr> <td><div align="right"><span class="Estilo5">Comuna : </span></div></td> <td> <select name="comuna" id="comuna_id"> <?php $comunas = $_GET['region_id']; $query = "SELECT comuna_nombre FROM comunas WHERE comuna_nombre='$comunas'"; $result = mysql_query($sql); while ($row = mysql_fetch_array($result)) { echo '<select name="comunas" id="comunas_id">'; '<option>'.$result["comuna_nombre"].'</option>'; } ?> </select> por que razon no me muestra info en el segundo box?
creo que se puede hacer con javascript o con algun efecto ajax, la verdad no lo he echo queria hacerlo pero no he encontrado nada, interesante con respecto a como quiero hacerlo, pero coloca en google "select dinamicos" y deverian aparecerte varios, para lo que quieres hacer demas que vas a encontrar
No puedo ayudarte en esto porque no tengo la base de datos de la cual llamas la información, pero te puedo dar estos pasos secuenciales: 1.- crea un array con la información a usar para construir el select dinámico y asegurate que esa parte del código funciona. 2.- realiza una query con la informacion a usar y revísala con el mysql_fetch_array para asegurarte que los resultados están siendo obtenidos. 3.- Si ambos pasos funcionan, ya podrías unir ambas partes para que el código funcione correctamente. Saludos.
Compadre veo un par de problemas Si ya creaste el select fuera del codigo php...por qué lo escribes de nuevo en el while??? Aparte por cada elemento que encuentras de la BBDD se crea de nuevo el select(dentro del otro). Lo otro, dentro del while pusiste: echo '<select name="comunas" id="comunas_id">'; '<option>'.$result["comuna_nombre"].'</option>';Pero el option no tiene echo(ya que pusiste al final de la línea del select el ; )... Esperosirva =)
esta es la logica compadre..!! mediante un onchange(this.value) mandale el parametro a una funcion js que reciba el value del select luego la redireccionas median ajax a una funcion php que te retorne un select completo..! ejemplo (simple) <script> function devuelveSelect(id_select){ ... .. .codigo ajax que te envie a la funcion, public function traeSelect() y le envias el DIV puede ser mediante un controlador si trabajar en MVC y el contenedor sera el div } </script> function traeSelect($id){ $query = aca tu query y le pasas el id para que filtre ?> <select> <?php for($i=0;$i<=count($query);$i++){ echo "<option value='$i'>$query[$i]</option>"; //depente como traigas el arreglo } ?> </select> <?php } function formulario(){ <select onchange="devuelveSelect(this.value)"> <option value="1">SANTIAGO</option> <option value="2">VALPARAISO</option> </select> <div id="di_select"></div> } esa es la logica