Foros del Web » Programando para Internet » Javascript »

Ayuda urgente, funcion JS para mostrar en pantalla

Estas en el tema de Ayuda urgente, funcion JS para mostrar en pantalla en el foro de Javascript en Foros del Web. Estimados, Necesito lo siguiente: 1. Tengo una funcion en JS que me hace una tabla HTML segun el numero de filas y columnas que le ...
  #1 (permalink)  
Antiguo 10/03/2010, 07:34
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Ayuda urgente, funcion JS para mostrar en pantalla

Estimados,
Necesito lo siguiente:

1. Tengo una funcion en JS que me hace una tabla HTML segun el numero de filas y columnas que le llega de acuerdo a unos registros de mi BBDD

function crea_tabla(){
document.write("<table border='1'>");
for (var a=1;a<=nrofilas;a++){
document.write('<tr>');
for (var b=1;b<=nrocolumnas;b++){
document.write('<td border="1" width="45" height="45" background="#000000" style="cursor:pointer">&nbsp;</td>');
}
document.write('</tr>');
}
document.write("</table>");
}

Hasta aqui bien, ya que necesito que en cierta coordenada (por ejemplo, fila 1 columna 1) ingresar un dato que tambien esta en la base de datos, que en mi caso es el nombre de un area, se supone que esta tabla es una bodega y cada bodega tiene una posicion,.
Espero se haya entendido.
Gracias nuevamente.
  #2 (permalink)  
Antiguo 10/03/2010, 11:57
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Ayuda por favor, he intentado de todo.
  #3 (permalink)  
Antiguo 10/03/2010, 13:48
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

En ningun momento mencionas el problema, explicaste que queres hacer pero no donde esta tu problema... me imagino yo que tu problema es meter la informacion en cada campo, tendrias que guardar la informacion en un array y poner algo como...

Código Javascript:
Ver original
  1. document.write('<td border="1" width="45" height="45" background="#000000" style="cursor:pointer">'+dataDeDB[a][b]+'</td>');

No te desesperes, a veces no se ayuda por falta de informacion, si el problema no esta bien expuesto algunos no se interesan porque hay gente que quiere ayuda pero no esta dispuesto a ser ayudado..

saludos
  #4 (permalink)  
Antiguo 10/03/2010, 14:10
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Agradezco que al menos lo hayas leído.
Justamente es eso lo que necesito, pero sabes ya lo hice, y no hay caso; a menos que este poniendo mal algun dato o codigo.
  #5 (permalink)  
Antiguo 10/03/2010, 14:37
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

mostralo si te place..
  #6 (permalink)  
Antiguo 10/03/2010, 14:52
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Código PHP:
Ver original
  1. <?php
  2. $link=conectarse();
  3. $id_inc=$_POST["Qx42NfbI4"];
  4. list($code_a,$code_b)=explode('lgwUs1260449978fHxYuU1260449949=JzCFNiujGgCiXdKYagQu1252607656',$_POST["Qx42NfbI4"]);
  5. $resul_sit_bod=mysql_query("SELECT * FROM tabla_sitios_bodega WHERE (codigo = '".$code_b."') LIMIT 0,1");
  6.  
  7. while($resul_sit_bod_array=mysql_fetch_array($resul_sit_bod)){?>
  8.    
  9.     nrofilas<input name="nrofilas" id="nrofilas" type="text" value="<?php echo $resul_sit_bod_array["nrofilas"];?>"/>  
  10.     nrocolumnas<input name="nrocolumnas" id="nrocolumnas" type="text" value="<?php echo $resul_sit_bod_array["nrocolumnas"];?>"/>
  11.    
  12.         <?php
  13.         $resul_pos_bod=mysql_query("SELECT * FROM tabla_posiciones_bodega WHERE (codigobodega = '".$code_b."')");
  14.         while($resul_pos_bod_array=mysql_fetch_array($resul_pos_bod)){
  15.        
  16.         ?>
  17.         fila<input name="fila" id="fila" type="text" value="<?php echo $resul_pos_bod_array["fila"];?>"/>  
  18.         columna<input name="columna" id="columna" type="text" value="<?php echo $resul_pos_bod_array["columna"];?>"/>  
  19.         nombreposicion<input name="nombreposicion" id="nombreposicion" type="text" value="<?php echo $resul_pos_bod_array["nombreposicion"];?>"/><br />
  20.        
  21.        
  22. <script>
  23. var casilla = new Array();
  24. var nrofilas = document.getElementById("nrofilas").value;
  25. var nrocolumnas = document.getElementById("nrocolumnas").value;
  26. var tot = nrofilas * nrocolumnas;
  27. var fila = document.getElementById("fila").value;
  28. var columna = document.getElementById("columna").value;
  29. var nombreposicion = document.getElementById("nombreposicion").value;
  30. var pos = fila,columna
  31.  
  32. function crea_tabla(){
  33.     document.write("<table border='1'>");
  34.     for (var a=1;a<=nrofilas;a++){
  35.         document.write('<tr>');
  36.         for (var b=1;b<=nrocolumnas;b++){
  37.             document.write('<td border="1" width="45" height="45" background="#000000" style="cursor:pointer">&nbsp;</td>');
  38.         }
  39.         document.write('</tr>');
  40.     }
  41.     document.write("</table>");
  42. }
  43.  
  44. </script>
  45.  
  46.         <?php }
  47.        
  48.          ?>
  49.  
  50.  
  51.  
  52. <?php } ?>
  53.  
  54. <script>crea_tabla();</script>

Solo tengo la funcion que crea la tabla, y ahi estoy confundido, es una tabla, no es un arreglo o matriz, y dentro de una de esas celdas, debiera meter "nombreposicion" de acuerdo a lo que tenga en la BBDD
  #7 (permalink)  
Antiguo 10/03/2010, 15:17
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Podes hacer algo asi..

Código PHP:
Ver original
  1. $junto="";
  2. while(...) {
  3. ..
  4. $junto.=$nombreposicion.","; // juntas la data que queres para pasarla a js
  5. ..
  6. }
Código Javascript:
Ver original
  1. var data="<?php echo($junto); ?>"; // pasas la variable de php
  2. data=data.split(","); // la separas por comas(,) para que quede un array..

Código Javascript:
Ver original
  1. ...
  2. document.write('<td ....>'+data[a*nrocolumnas+b]+'</td>');

Te doy un consejo que deberias de seguir.. empeza los bucles con 0(var a=0) no con 1..

saludos
  #8 (permalink)  
Antiguo 10/03/2010, 15:23
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Te pasaste, lo probare mañana, te cuento como me fue.
  #9 (permalink)  
Antiguo 12/03/2010, 14:07
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Estimado,
Al cambiar los valores del bucle a 0, y hacer la operacion
Código Javascript:
Ver original
  1. data[a*nrocolumnas+b]
siempre me dara valor 1, por lo tanto, siempre el nombre de posicion lo pondra en columna 1, fila 1; pero eso no es lo que necesito; pero voy bien porque puedo rescatar los nombreposicion y hacer el array que me indicas, solo falta meterlo en la coordenada correcta.

Gracias por tu apoyo.
  #10 (permalink)  
Antiguo 12/03/2010, 20:24
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

como que siempre te da valor 1?
Código Javascript:
Ver original
  1. nrocolumnas=20; // numero cualquiera..
  2.  
  3. a=0; b=0; // nuevo ciclo
  4. data[0*20+0]=data[0]; // esto seria como.. data[0][0]
  5. ++b;
  6.  
  7. data[0*20+1]=data[1]; // esto seria como.. data[0][1]
  8. ++b; // etc..
  9.  
  10.  
  11. ++a; b=0; // nuevo ciclo
  12. data[1*20+0]=data[20]; // esto seria como.. data[1][0]
  13. ++b;
  14.  
  15. data[1*20+1]=data[21]; // esto seria como.. data[1][1]
  16. ++b; // etc

por ahi estoy diciendo una burrada.. no se, ya es tarde

saludos
  #11 (permalink)  
Antiguo 15/03/2010, 06:04
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Estimados,
Quizas me exprese mal, pero mira en esta imagen como me aparece, agradecere tu ayuda.

En la posicion (1,1) me aparece el nombreposicion, cuando debiera ser en la posicion (2,2) tal como lo indican los textbox.

  #12 (permalink)  
Antiguo 15/03/2010, 06:05
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

http://cid-6e98a0aa6195c695.skydrive...co/SAV/SAV.png
  #13 (permalink)  
Antiguo 15/03/2010, 12:36
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

en el for de nrocolumnas...

cambia esto..
Código Javascript:
Ver original
  1. document.write('<td ....>'+data[a*nrocolumnas+b]+'</td>');
por... esto..
Código Javascript:
Ver original
  1. document.write('<td ....>'+(a*nrocolumnas+b)+'</td>');

y fijate que numeros te tira, te deberia de tirar del 0 al total-1 de todas las celdas... sino es asi, tenes un error en los for

saludos
  #14 (permalink)  
Antiguo 15/03/2010, 12:41
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Sí, sale bien, me imprime todos los numeros del 0 al total-1 de todas las celdas.
  #15 (permalink)  
Antiguo 15/03/2010, 12:51
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

entonces hay un problema cuando definis data, hace un for para data y fijate su contenido..

Código Javascript:
Ver original
  1. for(var i=0; i<data.length; ++i)
  2. {
  3. alert(i+": "+data[i]);
  4. }
  #16 (permalink)  
Antiguo 15/03/2010, 13:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

El tema es que al obtener nombreposicion del while, el que recorre la primera vez, genero el array y "nombreposicion" queda en la posicion [0], de ahi que al imprimirlo en la tabla lo mostrara en la primera posicion, ahora el tema es que hay que darle las coordenadas para que lo imprima en la posicion correcta.

Código Javascript:
Ver original
  1. var data="<?php echo($junto); ?>"; // pasas la variable de php
  2. data=data.split(","); // la separas por comas(,) para que quede un array..
  #17 (permalink)  
Antiguo 15/03/2010, 14:01
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

no entiendo, vos vas metiendo los distintos "nombreposicion" en una variable, luego pasas esa variable a javascript, y con el split le das un orden...

me podes contestar si el for del data que te pase te devuelve todos los valores..? porque sino estamos girando en circulos..
  #18 (permalink)  
Antiguo 15/03/2010, 15:18
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Exacto, eso es lo que estoy haciendo, pasarlos los nombreposicion a un array.
Y sí, si, me devuelve todos los valores, bueno, solo uno, ya que tego un nombreposicion.
  #19 (permalink)  
Antiguo 15/03/2010, 16:15
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

que es lo que queres guardar? no queres guardar nombreposicion por cada ROW para mostarlo en celdas?
  #20 (permalink)  
Antiguo 16/03/2010, 10:29
 
Fecha de Ingreso: febrero-2008
Mensajes: 77
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

Quiero mostrar nombreposicion de acuerdo a la fila y columna indicada.
  #21 (permalink)  
Antiguo 16/03/2010, 17:56
Avatar de Fernand0  
Fecha de Ingreso: septiembre-2005
Ubicación: Buenos Aires
Mensajes: 610
Antigüedad: 19 años, 1 mes
Puntos: 19
Respuesta: Ayuda urgente, funcion JS para mostrar en pantalla

este codigo serviria si recorres cada fila y cada columna, si tenes baches no se va a respetar el orden, lo que podes hacer es recorrer el array $junto antes del implode y llenar los baches con "null"...
Código PHP:
Ver original
  1. $junto=array();
  2.  
  3. while(sql_query...){
  4. ...
  5. $junto[fila*nrcolumnas+columna]=nombreposicion;
  6. ...
  7. }
  8.  
  9. $junto=implode(",", $junto);

tenes otra forma tambien, pasas el array entero como un string a javascript y ahi procesas la string con eval por ejemplo...
incluso lo podrias hacer con subindices de esa forma.. $junto[fila][columna]=nombreposicion;

saludos

Etiquetas: funcion, js, pantalla
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 19:01.