Hola otra vez a todos:
En principio el Script me funciona bastante bien, pero no del todo. Explico lo que he hecho:
He creado una "pagina" de prueba para probar el Script con 3 select.
El primero le he puesto que reciba los valores de la Base de datos cuando se pulse el 2 Select.
Lo que me ocurre es que me recorre 11 veces (hasta ahí todo perfecto) el while, pero en vez de ponerse un solo valor de la BD, se ponen todos, (incluso mas), como lo siguiente:
(, 100, 90, 80, ... 20, 10)
(, 100, 90, 80, ... 20, 10)
........
(, 100, 90, 80, ... 20, 10)
(, 100, 90, 80, ... 20, 10)
Se repite 11 veces, en cada uno de los resultados del Select
El primer detalle sería que el valor de "porcentaje[0]", le asigna a un valor "vació"
No me preocupa demasiado porque a ese valor lo puedo asignar manualmente como "---" (para indicar nulo), pero si se pudiera eliminar (que empiece desde el array 1, ) ....
El segundo detalle y mas importante (el que mas me "preocupa") es que en cada uno de los "resultados select", aparecen concatenados (los valores de la BD). Supongo que será un "cambio de línea" o algo así, pero estoy haciendo pruebas y me vuelvo loco..... (como dije anteriormente,,, estoy un poquito BASTANTE flojo en programación)
Estaría muy agradecido de que comentarais de que puede ser este problemilla
Muy agradecido de antemano...
fern1979@hotmail.comP.D. El código que empleo es el siguiente, por si podéis ver mas fácilmente donde me equivoco...
<html>
<body>
<?php
$javascript = "<script language=\"JavaScript\">\n";
$javascript .= " var porcentajes = new Array();\n";
include("conect.php");
$link=Conectarse();
$porcentajes=mysql_query("select * from porcentaje",$link) or die (mysql_error());
while ($elem = mysql_fetch_array($porcentajes)) {
$javascript .="porcentajes[".$elem['nreg']."] = ".$elem['porcentaje_v'].";\n";
}
$javascript .= "</script>\n";
echo $javascript;
?>
<script language="JavaScript">
function funciona() {
//calculo número de porcentajes
numero = porcentajes.length
//marco número de porcentajes en el select
document.formulario.select1.length = numero
// para cada provincia del array, la introduzco en el select
for (i=0; i<numero; i++){
document.formulario.select1.options[i].value = porcentajes
document.formulario.select1.options[i].text = porcentajes
}
}
</script>
<form name="formulario">
<select name="select1">
<!-- option value ="-">- !-->
</select>
<select name="select3" onclick="funciona()">
</select>
</form>
</p>
</body>
</html>