Desarrollo Web /

select option de paises y ciudades

Participa en el tema select option de paises y ciudades en el foro Desarrollo Web.
Saludos estimados usuarios. Recurro a uds por un poco de ayuda, estoy trabajando con PHP ...

Buscar en este tema:
1 2 >
 
  •  
    #1 select option de paises y ciudades
    Saludos estimados usuarios.

    Recurro a uds por un poco de ayuda, estoy trabajando con PHP mysql, y javascript.

    Actualmente estoy haciendo una pagina de registro en PHP la cual en una de las opciones tengo que cargar paises y ciudades del usuario, googleando encontré varias formas, pero encontre 2 metodos interesantes para hacerlo aunque trabajan de distinta forma funcionan perfectamente, les detallo un poco:

    1. Desde este site:http://www.dosideas.com/noticias/1-j...y-cascade.html probe el codigo, no utiliza base de datos todo con AJAX y javascript funciona perfectamente los datos son ciudades son cargados instantaneamente sin necesidad de refrescar la pagina (esa es la idea) en problema radica en el siguiente punto, cuando el usuario eligio el pais y ciudad y hace un SUBMIT al formulario (todos los datos son procesados en la misma pagina PHP) uso el metodo POST para las variables.
    Mando por post $_POST['pais'] & $_POST['ciudad'] no encontre ninguna forma de que se me quede marcado la ciudad que eligio el usuario cuando realizo el submit (seleccionado dentro del formulario)

    2. Usando otro metodo desde el site: http://roshanbh.com.np/2007/12/chang...x-and-php.html en este caso los datos de paises y ciudades se encuentran dentro de una BD mysql a comparacion del primero tambien funciona perfectamente el problema tambien radica en el SUBMIT no logre que me quedara seleccionada la ciudad elegida o que me carge todas las ciudades si el usuario ya eligio un pais.

    No se si a alguno de Uds se le presento este problema y pudo solucionarlo de alguna manera, como comente el unic problema que tengo es que no me queda seleccionado la ciudad que eligio cuando hace un SUBMIT, agradeceria sus comentarios
    +
     
    0
    Me gusta
     
    http://www.psicofxp.com/forums/desarrollo-web.264/885531-select-option-de-paises-y-ciudades.html
    | Más
  • #2 Re: select option de paises y ciudades

    es raro el error que tenes, no importa si estas mandando los datos por POST o GET, debería de mandarte los valores a la otra pagina
    proba en la pagina que recibe los parametros haciendo un
    echo("<pre>");print_r($_POST);echo("<br/>");print_r($_GET);echo("</pre>");die();
    para ver que es lo que estas recibiendo, confio que sea un error del formulario HTML y no de que no te esta mandando los parametros por algun error de php
    Me gusta este mensaje
  • #3 Re: select option de paises y ciudades

    la opcion 2 http://roshanbh.com.np/2007/12/change-dropdown-list-options-values-from-database-with-ajax-and-php.html no funciona bien con firefox, en iexplorer todo va bien, en fire fox no funciona por que el form debe ser de esta forma:

    form
    table
    /table
    /form


    la opcion 1 http://www.dosideas.com/noticias/1-j...y-cascade.html funnciona perfecto enviando datos del formulario a una pagina de prueba con este codigo que llame demo2.php:


    <html>
    <head>
    <?php
    echo "pais ",$select1;
    echo "provincia ",$select2;
    echo "ciudad ",$select3;
    ?>
    </head>
    <body>

    <h1>&nbsp;</h1>
    </body>
    </html>

    el codigo del formulario la que envia la informacion:

    <form name="form1" method="post" action="demo2.php">
    <label> Ubicacion<br>
    <br>
    </label>
    <div>
    <label>Pais
    <select name="select1" id="pais">
    <option value="AR">Argentina</option>
    <option value="ES">Espa&ntilde;a</option>
    <option value="MX">Mexico</option>
    </select>
    </label>
    <label>Provincia
    <select name="select2" id="provincia">
    </select>
    </label>
    <label>Ciudad
    <select name="select3" id="ciudad">
    </select>
    </label>
    </div>
    <label><br>
    <br>
    <input type="submit" name="Submit" value="Enviar">
    </label>
    <p>&nbsp;</p>
    </form>

    ejemplo funcionando segun mi necesidad solo paises y ciudades:


    http://www.virtualmotionstudio.com/paises/demo.php
    Editado por genesyswav - 04.02.2009 20:57 hs.
    Me gusta este mensaje
  • #4 Re: select option de paises y ciudades

    Hola gracias por las respuestas, bueno en particular probe las 2 con Firefox y trabajo sin problemas, osea no es que tenga problema para seleccionar los paises y ciudades, a ver lo expongo de otra forma:

    Digamos que ya tenemos guardado en un BD el pais y ciudad de un usuario, EJ:
    $pais=datos['pais']; /* EJ: Argentina */
    $ciudad=datos['ciudad']; /* EJ: cordoba */

    La idea mia es por ejemplo que automaticamente quede selecionado el pais (la cual en este punto no hay problema) y la ciudad (JUSTO AQUI ES EL PROBLEMA) nose como hacer para que tomando los datos recuperados de la BD quede automaticamente seleccionada la ciudad del usuario.

    Gracias y saludos...
    Me gusta este mensaje
  • #5 Re: select option de paises y ciudades

    No te entendi nada...

    A que te referis con eso de que quede seleccionado "automaticamente" el país y la ciudad??
    Me gusta este mensaje
  • #6 Re: select option de paises y ciudades

    Será que cuando el usuario seleccione el pais automaticamente se carguen las ciudades de dicho pais? nunca lo hice pero podes probar con un iframe que cargue distintos selects.
    Osea en el evento onChange del select de pais pones:
    onChange="window.nombreframe.location='ciudades.ph p?pais='+document.fomr1.selectpaises.value"
    Me gusta este mensaje
  • #7 Re: select option de paises y ciudades

    Hace un tiempo habia modificado uno que encontre, hecho en JS, que trabajaba con arrays con nombres iguales, pero con un prefijo que correspondia a los distintos valores de las opciones del select.

    Aca lo modifique un poquitito según tus necesidades para que veas como es


    La función
    Código:
    function cambiaProvincias(){
    var pais
        pais = document.datos.pais[document.datos.pais.selectedIndex].label
        if (pais != 0) {
        provincias = eval("provincias_" + pais)
        numProvincias = provincias.length
        document.datos.provincias.length = numProvincias
        var i
        for(i=0;i<numProvincias;i++){        
        document.datos.provincias.options[i].value=(i)
        document.datos.provincias.options[i].text=provincias[i]
           }
        }else{
           document.datos.provincias.length = 1
           document.datos.provincias.options[0].value = "0"
           document.datos.provincias.options[0].text = "Debe seleccionar un pa&iacute;s primero"
        }
        document.datos.provincias.options[0].selected = true
    }
    var provincias_1=new Array("","Buenos Aires","Córdoba","Salta","Jujuy")
    var provincias_2=new Array("","Madrid","Sevilla","Málaga","Castilla")
    var provincias_3=new Array("","New York","Washington DC","Louisiana","South Caroline")
    
    Los selects

    Código:
    <form name="datos" action="descargas.php" method="POST">
    <select name="pais" onchange="cambiaProvincias()">
    <option label="0" value="0" selected="selected">Seleccione una categoría...</option>
    <option label="1" value="1">Argentina</option>
    <option label="2" value="2">Espa&ntilde;a</option>
    <option label="3" value="3">USA</option>
    </select>
    <select name="provincias">
    <option value="0">Debe seleccionar un pa&iacute;s primero</option>
    </select>
    </form>
    
    Por cada país que agregues, agregas una var nueva en la función que se llame provincias_el valor de la opción correspondiente al país en el primer select, y a esa var, creas un nuevo array que contenga las provincias del país.

    Espero que te sirva

    Saludos!
    Me gusta este mensaje
  • #8 Re: select option de paises y ciudades

    Originalmente publicado por fellipeferrate Ver mensaje
    Será que cuando el usuario seleccione el pais automaticamente se carguen las ciudades de dicho pais? nunca lo hice pero podes probar con un iframe que cargue distintos selects.
    Osea en el evento onChange del select de pais pones:
    onChange="window.nombreframe.location='ciudades.ph p?pais='+document.fomr1.selectpaises.value"
    Hola, gracias por la respuesta, mira en el caso de la utilización de AJAX para que carge automaticamente las ciudadescorrespondientes a los paises no tengo problema, osea si elijo ARGENTINA se me cargan todas las ciudades correspondientes, por esa parte no tengodrama, esto funciona perfectamente para un buscador, pero lo que quiero hacer es que por ejemplo utilizando los 2 metodos mencionados antes, recuperando los datos del cliente de la BD automaticamente se quede elegido el pais y la ciudad, sin necesidad de que el usuario lo busque manualmente, esto estaria bueno por ejemplo si el usuario quiere actualizar sus datos, tambien me es valido para un registro nuevo.

    La idea general es que por ejemplo si un usuario nuevo se registra (hablamos de un formulario con varias opciones) y si este elige un pais y ciudad especifico estas se manentan en el transcurso del registro, para lo cual uso un formulario ejemplo registro.php la cual al hacer sumit se procesan en el mismo formulario, osea

    <form name="datos" action="descargas.php" method="POST">

    todos los datos son procesados en el mismo formulario, no redirecciono a otra pagina que verifica los datos, si un dato esta mal (ej. edad, email, password, etc) en el mismo formulario le muestra que ese campo esta mal y debe verificarlo.

    El problema viene justo aqui al hacer SUBMIT en el formulario puedo recuperar los datos enviados los que me interesan son justamente PAIS y CIUDAD pero lo que no logre es que automaticamente me quede elegido la ciudad correspondiente al PAIS.

    usando onChange="window.nombreframe.location='ciudades.ph p?pais='+document.fomr1.selectpaises.value funciona bien si y solo si el usuario elige una opcion sino hace nada no hace nada alli esta el problema, habra alguna otra opción de que carge automaticamente.

    Perdon por lo largo del comentario, trato de hacerlo mas especifico el problema.
    Me gusta este mensaje
  • #9 Re: select option de paises y ciudades

    Sigo sin entender, a ver, vos lo que no logras, es que inserte los valores en la base de datos?

    Lo de que queden seleccionadas las opciones automaticamente en los select es facil. Si el usuario se esta editando, haces un input oculto que tenga como valor, la ID del usuario (supongo que trabajaras con IDs auto incrementables).

    Haces un consulta a la base en la que selecciones todos los datos que tengan por ID, la ID del input anterior.

    Despues usas un fetch para recoger todos los datos, y sacas el valor insertado en país y provincia.

    Con un array seteas las opciones de cada select, y mediante un for, el valor que va a tener cada opcion.

    Antes de cerrar el option, con un if haces que si el valor que obtuviste de país es igual al valor de la opcion, tenga la opcion selected.

    Haces lo mismo para cada provincia y listo.

    Espero no habertela complicado mucho :P

    Cualquier cosa, PM o respuesta aca

    Saludos!
    Me gusta este mensaje
  • #10 Re: select option de paises y ciudades

    Si queres recuperar los datos antes enviados pero que por un error en otro dato deben ser cargados de nuevo podes hacer dos cosas:
    Si la lista la tenes en un tabla de bd entonces cuando haces el while o el for preguntas si esa opcion es la igual a la pasada por POST, si es igual le agregas un echo "selected" adentro de la etiqueta option.
    La otra opcion un poco mas bruta es agregar un nuevo option selected con los datos enviados, entonces ese dato se repetira dentro del select con los mismos valores, uno de ellos estara selected.
    Me gusta este mensaje
1 2 >


Estadísticas del tema
  • 10 RESPUESTAS
  • 5621 VISTAS
  • 5 USUARIOS RESPONDIERON
 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB