Ver Mensaje Individual
  #12 (permalink)  
Antiguo 21/01/2008, 05:19
Avatar de derkenuke
derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: SELECTS dependientes con inteligencia hacia atrás

Hola de nuevo nes24.

No, no tengo ese código que pasa de base de datos a javascript, pero creo que es un tema que ya no tiene nada que ver con el de los selects, es algo independiente. Si tienes dudas de cómo hacer eso busca en el foro, se ha tratado en algún post. Si tienes más dudas lo conveniente sería crear un nuevo hilo.

Lo que tienes que hacer es recorrer todos los registros de la base de datos de la siguiente manera:
Recorremos la tabla de paises (ordenados alfabéticamente) y la escribimos en el array de javascript paises, sin complicaciones.
Recorremos la tabla de ciudades (ordenándola por paises alfabéticamente) y lo imprimimos en el array de javascript provincias. Ten en cuenta que tendrás que tener dos bucles anidados aquí: Uno para recorrer los paises y otro para recorrer las ciudades.
El tercer paso es análogo: Recorrer la tabla habitantes (¿es que hay dos cantidades de habitantes para una ciudad?) e imprimirla en ciudades. Tendrás que tener tres bucles anidados: para pais, ciudad y habitantes.
La estructura PHP sería mas o menos así:
Código PHP:
// imprimo declaraciones de javascript: paises, provincias y ciudades
echo "var paises = new Array();\n";
echo 
"var provincias = new Array();\n";
echo 
"var ciudades = new Array();\n";
for(
$n=0$n<$nPaises$n++) {
    
// añado el pais
    
echo "paises[".$n."] = '".$BDD["paises"][$n]."';\n";
    for(
$m=0$m<$mCiudades$m++) {
        
// añado las ciudades
        
echo "provincias[".$n."][".$m."] = '".$BDD["ciudades"][$o]."';\n";
        for(
$o=0$o<$oHabitantes$o++) {
            
// añado los habitantes
            
echo "ciudades[".$n."][".$m."][".$o."] = '".$BDD["habitantes"][$o]."';\n";
        }
        
    }

Pero antes tendrás que obtener los datos de tu base de datos de manera ordenada para que no se forme un follón...
Con ello habremos imprimido en el documento todo el javascript necesario para llenar los arrays paises, provincias y ciudades, si no me he equivocado demasiado. Podrás verlo en el código fuente de tu documento PHP una vez procesado.



Espero que te sirva así, un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.