Foros del Web » Programando para Internet » Javascript »

Ayuda con este script

Estas en el tema de Ayuda con este script en el foro de Javascript en Foros del Web. Como quedaría el script de abajo si deseo llamar los datos desde una base de datos llamada control donde existe una tabla llamada estados que ...
  #1 (permalink)  
Antiguo 11/04/2005, 18:32
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 20 años, 6 meses
Puntos: 0
Ayuda con este script

Como quedaría el script de abajo si deseo llamar los datos desde una base de datos llamada control donde existe una tabla llamada estados que contiene los campos ID, state,city,postal_code, de manera que al selecionar state aparezcan en el siguiente campo es decir city las ciudades que coresponden a ese estado y en el campo codigo postal el código correspondiente a esa ciudad.

Gracias.

<html>
<head>
<script language="JavaScript">

/* Trae desde la base de datos los nombres de los paises */
/* y colócalos en este arreglo. */
var aPaises = new Array(
" ",
"Mexico",
"España",
"Venezuela"
);

var aEstados0 = new Array(
" "
);

/* Trae desde la base de datos los nombres de las ciudades */
/* de cada uno de los paises de la lista anterior y ponlos */
/* en arreglos individuales. */
var aEstados1 = new Array(
" ",
"Ciudad de México",
"Monterrey",
"Guadalajara"
);

var aEstados2 = new Array(
" ",
"Madrid",
"Barcelona",
"San Sebastián"
);

var aEstados3 = new Array(
" ",
"Caracas",
"Coro",
"Maracay",
"Valencia"
);

/* Arma un arreglo general de estados a partir de los arreglos */
/* anteriores. Es importante que cada arreglo comience por un */
/* valor en blanco y que el primer arreglo de ciudades, llamado */
/* aqui aEstados0, no contenga ningún elemento. */
var aEstados = new Array(
aEstados0,
aEstados1,
aEstados2,
aEstados3
);

function opcion(oCntrl, iPos, sTxt, sVal){
var selOpcion=new Option(sTxt, sVal);
eval(oCntrl.options[iPos]=selOpcion);
}

function cambia(oMster, oCntrl){
var nSelected = oMster.selectedIndex;
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aEstados[nSelected].length; i++)
opcion(oCntrl, i, aEstados[nSelected][i], String(i));
}

function llena(oCntrl){
while (oCntrl.length) oCntrl.remove(0);
for(var i = 0; i < aPaises.length; i++)
opcion(oCntrl, i, aPaises[i], String(i));
}

</script>
</head>
<body>
<form name="frm">
Pais
<select name="pais" onchange="cambia(this, document.frm.ciudad)">
<option value=" ">&nbsp;</option>
</select>
&nbsp;&nbsp;&nbsp;
Ciudad
<select name="ciudad">
<option value=" ">&nbsp;</option>
</select>
</form>
<script language="JavaScript">
llena(document.frm.pais);
</script>
</body>
</html>
  #2 (permalink)  
Antiguo 12/04/2005, 03:37
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Qué tal latinhospedaje,

sabes qué pasa, que javascript no accesa a bases de datos. Debes escribir la parte javascript desde el lenguaje que estés usando en el lado del servidor para recuperar esos datos.

un saludo
  #3 (permalink)  
Antiguo 12/04/2005, 15:26
 
Fecha de Ingreso: octubre-2003
Mensajes: 19
Antigüedad: 20 años, 6 meses
Puntos: 0
eNTONCES QUE SIGNIFICA ESTE TEMA EN LAS FAQ, AQUI HABLAN DE TRAER DATOS DESDE LA BASE DE DATOS

http://www.forosdelweb.com/f13/faqs-javascript-105325-post538506/
  #4 (permalink)  
Antiguo 12/04/2005, 15:47
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola a todos:

latinhospedaje: javascript no trae datos de la base de datos, sino la página en el lenguaje que soporte el servidor (asp, php, perl)... Las opciones son: recargar la página con los datos nuevos, o traer todos los datos de la base de datos "sobrecargando" la página.

En la FAQ se habla de que los datos se traen de una base de datos, pero todos.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:58.