Buenas,
ese código es un auténtico lío sobran muchas cosas y habría que rehacerlo desde cero.
- declaras un montón de variables que no usas para nada.
- en la línea 22 posicion vale NaN porque como es de suponer por el nombre de las variables no contendrán números. Pero además sólo usas la variable posicion en el alert.
- en la línea 30 a la hora de llenar los campos de la tabla sólo añades un espacio en blanco así que es eso lo que te muestra.
- sería conveniente separar en todo momento el php del html, del css y del javascript y sobre todo y hasta que funcione correctamente simplificarlo lo más posible, eso te facilitará mucho el trabajo y te ahorrará tiempo a la hora de encontrar errores.
- no es nada recomendable el uso y mucho menos el abuso de document.write, lo mejor sería que hicieras la tabla desde el lado del servidor y de hacerlo con javascript sería mejor creando los elementos createElement y añadiendolos al dom o incluso con innerHTML antes que con write.
- sería mejor hacer un bucle anidado en lugar de otra funcion o necesitarás parametros para llenar la tabla porque necesitas tener disponibles los valores de los dos contadores de los bucles para pasarlo como coordenadas de las celdas.
Un ejemplo muy sencillo basado en tu código sería algo así:
Código Javascript
:
Ver original<html>
<head>
<script>
var datas = [ ['aa', 'ab', 'ac'], ['ba', 'bb', 'bc'], ['ca', 'cb', 'cc'] ];
var nrofilas = 3;
var nrocolumnas = 3;
function crea_tabla()
{
document.write("<table border='1'>");
for (var a=0;a<nrofilas;a++){
document.write('<tr>');
for (var b=0;b<nrocolumnas;b++){
document.write('<td border="1" >' + datas[a][b] + '</td>');
}
document.write('</tr>');
}
document.write("</table>");
}
</script>
</head>
<body>
<script>crea_tabla();</script>
</body>
</html>