ayuda con select dinamico

Discussion in 'Programación & Programación Web' started by chumy1, Dec 9, 2011.

  1. chumy1

    chumy1 Usuario Nuevo nvl. 1
    37/41

    Joined:
    May 8, 2010
    Messages:
    10
    Likes Received:
    0
    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?
    
     
  2. cavoso

    cavoso Usuario Casual nvl. 2
    37/41

    Joined:
    May 31, 2008
    Messages:
    2,727
    Likes Received:
    13
    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
     
  3. El Fin

    El Fin Usuario Habitual nvl.3 ★
    187/244

    Joined:
    Oct 2, 2009
    Messages:
    16,562
    Likes Received:
    16
    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.
     
  4. Dozzie

    Dozzie Usuario Nuevo nvl. 1
    17/41

    Joined:
    May 3, 2006
    Messages:
    153
    Likes Received:
    0
    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 =)
     
  5. roys1985

    roys1985 Usuario Casual nvl. 2
    37/41

    Joined:
    Aug 9, 2009
    Messages:
    1,307
    Likes Received:
    2
    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