Google
Web dns.bdat.net

[PHP-ES] Re: Combobox Anidados --- (php y javascript)... problemas =(

Write haof XML files: Diego ( diego@insua.com.ar)
Fecha: mié 27 abr 2005 - 08:59:35 CEST


mmm por alguna razon el código salio repetido.. paso a ponerlo en limpio.
--------

<?php
//conexión a mysql
include ("conexion.php");

//seleccionamos las opciones del select principal
$sql = "SELECT id_pais,pais FROM paises ORDER BY pais";
$res = mysql_query($sql);

//obtenemos el número de registros
$num = mysql_num_rows($res);
?>

<FORM name="form1" method="POST">

<!--Combo principal-->
<select name="pais" onChange="redirect(this.options.selectedIndex)"
style='width:160'>
<option selected value=0>PAIS.</option>
<?
for($i=0;$i<$num;$i++) {
$id_pais[$i] = mysql_result($res,$i,0);
$pais[$i] = mysql_result($res,$i,1);
echo "<option value='$id_pais[$i]'>$pais[$i]</option>";
}
?>
</select>

<!--Combo dinámico-->
<select name="provincia" style='width:160'>
<option selected value=0>PROVINCIA</option>
</select>

</FORM>

<?

echo "<script><!--";
echo "var groups=".$num;
echo "var group=new Array(groups)";

//Crea tantos arrays como valores hay en el combo principal
echo "for (i=0; i<groups; i++) group[i]=new Array()";

//Opciones cuando no se ha hecho ninguna selección en el combo principal-->
echo "group[0][0]=new Option('PAIS','0');";

for($i=0;$i<$num;$i++) {

$sql = "SELECT id_provincia, provincia FROM provincias WHERE id_pais =
$id_pais[$i]";
$res = mysql_query($sql);
//Obtenemos el número de provincias para ese pais
$num2 = mysql_num_rows($res);

for($j=0;$j<$num2;$j++) {

$id_pais = mysql_result($res,$j,0);
$pais = mysql_result($res,$j,1);

//Opciones para la opción $i del combo principal
echo "group[$num][$j]=new Option('$provincia','$id_provincia')";

}
}
include ("cerrar_conexion.php");
?>

var temp=document.form1.provicia

function redirect(x){
for (m=temp.options.length-1;m>0;m--)
temp.options[m]=null
for (i=0;i<group[x].length;i++){
temp.options[i]=new Option(group[x][i].text,group[x][i].value)
}
temp.options[0].selected=true
}
//-->
</script>

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 18 mar 2006 - 18:49:33 CET