Mostrar tabla como una bodega y a cada celda asig.

Estimados, Necesito urgente su ayuda, en el archivo que adjunto hay 8 campos de texto con sus respectivos valores que vienen de una base de datos, el campo nrofilas es el numero de filas y nrocolumnas el numero de columnas (3x3); esta tabla o arreglo o matriz o array debe contener, como lo indica el campo de texto 3 y 4, el contenido del campo de texto 5; (fila 2, columna 2 debiera aparecer escrito "1") lo mismo debiera pasar con los otros tres campos de texto; o sea en la fila 1 columna 1 (coordenada) solo debiera aparecer escrito "CCC"
http://cid-6e98a0aa6195c695.skydrive.live.com/self.aspx/P%c3%bablico/SAV/ayuda.png

1 Respuesta

Respuesta
1
A ver si es esto lo que necesitas:
<html>
<head>
<script>
function rellenaTabla(){
var nFilas = document.forms.formulario.nrofilas.value;
var nCols = document.forms.formulario.nrocolumnas.value;
var f_a= document.forms.formulario.fila_a.value;
var c_a= document.forms.formulario.columna_a.value;
var n_a= document.forms.formulario.nombreposicion_a.value;
var f_b= document.forms.formulario.fila_b.value;
var c_b= document.forms.formulario.columna_b.value;
var n_b= document.forms.formulario.nombreposicion_b.value;
var html ="<table border='1'>";
for (fila=1; fila<=nFilas; fila++){
html +="<tr height='50'>";
for (col=1; col<=nCols; col++){
html += "<td width='50'>";
if (fila==f_a && col==c_a){
html += n_a;
}
else if (fila==f_b && col==c_b){
html += n_b;
}
else{
html += " ";
}
html += "</td>";
}
html +="</tr>";
}
html += "</table>";
document.getElementById("contenedorTabla").innerHTML = html;
}
</script>
</head>
<body onload="rellenaTabla()">
<form name="formulario">
nrofilas<input type="text" name="nrofilas" value="3"></input></br>
nrocolumnas<input type="text" name="nrocolumnas" value="4"></input></br>
fila_a<input type="text" name="fila_a" value="2"></input></br>
columna_a<input type="text" name="columna_a" value="1"></input></br>
nombreposicion_a<input type="text" name="nombreposicion_a" value="AAA"></input></br>
fila_b<input type="text" name="fila_b" value="3"></input></br>
columna_b<input type="text" name="columna_b" value="2"></input></br>
nombreposicion_b<input type="text" name="nombreposicion_b" value="BBB"></input></br>
</form>
<div id="contenedorTabla">
</div>
</body>
</html>
Ya me contarás.
Experto, super bien es la idea... solo que no tengo fila_a fila_b columna_a columna_b, mis input siempre son 3 fila, columna y nombreposicion y se llenan con los datos que extraigo de la base de datos, a menos que a mis input, pueda agregarles el "_a" o el "_b"... ¿cómo haría eso?
while($resul_sit_bod_array=mysql_fetch_array($resul_sit_bod)){?>
 nrofilas<input name="nrofilas" id="nrofilas" type="text" value="<?php echo $resul_sit_bod_array["nrofilas"];?>"/> 
 nrocolumnas<input name="nrocolumnas" id="nrocolumnas" type="text" value="<?php echo $resul_sit_bod_array["nrocolumnas"];?>"/><br />
  <?php
  $junto_nombreposicion="";
  $junto_fil="";
  $junto_col="";
  $junto_cel="";
     $resul_pos_bod=mysql_query("SELECT * FROM tabla_posiciones_bodega WHERE (codigobodega = '".$code_b."') AND status LIKE '1'");
  while($resul_pos_bod_array=mysql_fetch_array($resul_pos_bod)){
  $junto_nombreposicion.=$resul_pos_bod_array["nombreposicion"].",";
  $junto_fil.=$resul_pos_bod_array["fila"].",";
  $junto_col.=$resul_pos_bod_array["columna"].",";
  $junto_cel.=$resul_pos_bod_array["fila"].",".$resul_pos_bod_array["columna"].";";
  ?>
  fila<input name="fila" id="fila" type="text" value="<?php echo $resul_pos_bod_array["fila"];?>"/> 
  columna<input name="columna" id="columna" type="text" value="<?php echo $resul_pos_bod_array["columna"];?>"/> 
  nombreposicion<input name="nombreposicion" id="nombreposicion" type="text" value="<?php echo $resul_pos_bod_array["nombreposicion"];?>"/><br /> 
  <?php }
  $junto_nombreposicion=substr($junto_nombreposicion,0,strlen($junto_nombreposicion)-1);
  $junto_fil=substr($junto_fil,0,strlen($junto_fil)-1);
  $junto_col=substr($junto_col,0,strlen($junto_col)-1);
  $junto_cel=substr($junto_cel,0,strlen($junto_cel)-1);
  ?>
<?php } ?>
Ahí va de nuevo. Me faltaba la info de como se creaban dinámicamente los campos:
<html>
<head>
<script>
function rellenaTabla(){
var nFilas = document.forms.formulario.nrofilas.value;
var nCols = document.forms.formulario.nrocolumnas.value;
var filas= document.forms.formulario.fila;
var columnas= document.forms.formulario.columna;
var nombres= document.forms.formulario.nombreposicion;
var encontrado=false;
var html ="<table border='1'>";
for (fila=1; fila<=nFilas; fila++){
html +="<tr height='50'>";
for (col=1; col<=nCols; col++){
html += "<td width='50'>";
if (filas.length){
for (reg=0; reg<filas.length;reg++){
if (filas[reg].value==fila && columnas[reg].value==col){
html += nombres[reg].value;
encontrado=true;
break;
}
}
}
else{
if (filas.value==fila && columnas.value==col){
html += nombres.value;
encontrado=true;
}
}
if (!encontrado){
html += " ";
}
html += "</td>";
}
html +="</tr>";
}
html += "</table>";
document.getElementById("contenedorTabla").innerHTML = html;
}
</script>
</head>
<body onload="rellenaTabla()">
<form name="formulario">
nrofilas<input type="text" name="nrofilas" value="3"></input></br>
nrocolumnas<input type="text" name="nrocolumnas" value="4"></input></br>
fila<input type="text" name="fila" value="2"></input></br>
columna<input type="text" name="columna" value="1"></input></br>
nombreposicion<input type="text" name="nombreposicion" value="AAA"></input></br>
fila<input type="text" name="fila" value="3"></input></br>
columna<input type="text" name="columna" value="4"></input></br>
nombreposicion<input type="text" name="nombreposicion" value="BBB"></input></br>
fila<input type="text" name="fila" value="1"></input></br>
columna<input type="text" name="columna" value="4"></input></br>
nombreposicion<input type="text" name="nombreposicion" value="CCCC"></input></br>
</form>
<div id="contenedorTabla">
</div>
</body>
</html>
Ahí siiiiiiiiiiiiiiiiiiiiiiii, eres un monstruo, no sabes lo que significa tu respuesta, cuando vengas a Chile pasa a Rancagua, si es que eres extranjero; si eres de Chile me avisas cuando vengas a Rancagua.
Eternamente agradecido.
Soy de Madrid (España). De hecho ya estuve en Chile, pero solo visité Santiago y Valparaiso. Por cierto, ya que hablamos de bodegas, tenéis un vino bastante bueno.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas