Foros del Web » Programando para Internet » PHP »

Select Encadenado

Estas en el tema de Select Encadenado en el foro de PHP en Foros del Web. Hola, quiero hacer los select encadenado, intente hacer pero no pude no se como aplicar el siguiente codigo: <HTML> <HEAD> <TITLE>Ejemplo de Select encadenados</TITLE> <SCRIPT ...
  #1 (permalink)  
Antiguo 22/09/2004, 14:53
Avatar de alexis77  
Fecha de Ingreso: diciembre-2003
Mensajes: 119
Antigüedad: 20 años, 4 meses
Puntos: 0
Exclamación Select Encadenado

Hola, quiero hacer los select encadenado, intente hacer pero no pude

no se como aplicar el siguiente codigo:

<HTML>
<HEAD>
<TITLE>Ejemplo de Select encadenados</TITLE>
<SCRIPT language="JavaScript">

// Valores posibles del primer select
valores1= new Array();
valores1[0]="Argentina";
valores1[1]="Colombia";
valores1[2]="España";
valores1[3]="México";

// Valores posibles del segundo select
// Valores asociado a la primera opción del primer select
fila1= new Array();
fila1[0]="Buenos Aires";
fila1[1]="Cordoba";
fila1[2]="Mendoza";
fila1[3]="Santa Cruz";

// Valores asociado a la segunda opción del primer select
fila2= new Array();
fila2[0]="Bogotá";
fila2[1]="Cali";
fila2[2]="Barranquilla";
fila2[3]="Medellín";

// Valores asociado a la tercera opción del primer select
fila3= new Array();
fila3[0]="Madrid";
fila3[1]="Barcelona";
fila3[2]="Valencia";
fila3[3]="Sevilla";
fila3[4]="Bilbao";


// Valores asociado a la cuarta opción del primer select
fila4= new Array();
fila4[0]="México D.F.";
fila4[1]="Guadalajara";
fila4[2]="Monterrey";

// Array de filas de opciones
valores2= new Array();
valores2[0]=fila1;
valores2[1]=fila2;
valores2[2]=fila3;
valores2[3]=fila4;

// Escribe el código HTML correspondiente a las opciones del Select1
function escribeopcionesselect(valores1)
{
for (var i=0;i<valores1.length;i++)
{
window.document.write('<OPTION VALUE="'+valores1[i]+'">'+
valores1[i]+'</OPTION>');
}
}

// Escribe el código HTML correspondiente a las opciones del Select2
function escribeopcionesselect2(indice,valores2)
{
escribeopcionesselect(valores2[indice]);
}

// Actualiza las opciones del segundo Select en función del primero
function cambiaselect2(form,nombreo,nombred,valores2)
{
// Obtención del índice activo en el primer select
var cadena="form."+nombreo+".selectedIndex";
var indice=eval(cadena);
// Obtención del objeto que representa al segundo select
var aux='form.'+nombred;
objeto=eval(aux);
// Actualización de las opciones posibles del segundo select
objeto.length=valores2[indice].length;
for (var i=0; i<valores2[indice].length;i++)
{
objeto.options[i].text=valores2[indice][i];
objeto.options[i].value=valores2[indice][i];
}
// Se activa la primera opción del segundo select
objeto.selectedIndex=0;
}

</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="">

<BR><BR>
<CENTER>
<B>Select encadenados</B><BR><BR>
Pais:
<SELECT NAME="select1"
onChange="cambiaselect2(form,'select1','select2',v alores2)">
<SCRIPT language="JavaScript">escribeopcionesselect(valore s1)</SCRIPT>
</SELECT>
&nbsp&nbsp&nbsp
Ciudad:
<SELECT NAME="select2">
<SCRIPT language="JavaScript">escribeopcionesselect2(0,val ores2)</SCRIPT>
</SELECT><BR>
</CENTER>
</FORM>
</BODY>
</HTML>


ahora quiero aplicar ese mismo codigo en php+mysql
tenniendo la siguientes tablas

CREATE TABLE `pais` (
`id_pais` tinyint(3) NOT NULL auto_increment,
`pais` varchar(100) default NULL,
PRIMARY KEY (`id_pais`)
) TYPE=MyISAM AUTO_INCREMENT=5;

INSERT INTO `pais` VALUES (1, 'Argentina');
INSERT INTO `pais` VALUES (2, 'España');
INSERT INTO `pais` VALUES (3, 'Perú');
INSERT INTO `pais` VALUES (4, 'Venezuela');



CREATE TABLE `ciudades` (
`id_ciudad` int(3) NOT NULL auto_increment,
`id_p` int(3) NOT NULL default '0',
`ciudad` varchar(100) default NULL,
PRIMARY KEY (`id_ciudad`)
) TYPE=MyISAM AUTO_INCREMENT=16;

INSERT INTO `ciudades` VALUES (1, 1, 'Buenos Aires\r');
INSERT INTO `ciudades` VALUES (2, 1, 'Cordoba\r');
INSERT INTO `ciudades` VALUES (3, 1, 'Mendoza\r');
INSERT INTO `ciudades` VALUES (4, 2, 'Madrid\r');
INSERT INTO `ciudades` VALUES (5, 2, 'Barcelona\r');
INSERT INTO `ciudades` VALUES (6, 2, 'Sevilla\r');
INSERT INTO `ciudades` VALUES (7, 2, 'Valencia\r');
INSERT INTO `ciudades` VALUES (8, 3, 'Arequipa\r');
INSERT INTO `ciudades` VALUES (9, 3, 'Cusco\r');
INSERT INTO `ciudades` VALUES (10, 3, 'Lima\r');
INSERT INTO `ciudades` VALUES (11, 3, 'Tacna\r');
INSERT INTO `ciudades` VALUES (12, 3, 'Caracas\r');
INSERT INTO `ciudades` VALUES (13, 3, 'Distrito Capital\r');
INSERT INTO `ciudades` VALUES (14, 3, 'Maracaibo\r');
INSERT INTO `ciudades` VALUES (15, 3, 'Valencia\r');


Quiero utilizar este codigo porq funciona perfectamente en nescape.


Ojala me puedan ayudar....
  #2 (permalink)  
Antiguo 22/09/2004, 15:10
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading..........


Como tus datos son estáticos osea no se genera el combo segun la cantidad de paises en un lado entonces solo pon con el mismo nombre los valores de cada campo y en un form obtendrás sus valores respectivos. Que problemas te sale? o ahun no lo probaste?


connection closed.
__________________

Maborak Technologies
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 03:36.