Foros del Web » Programando para Internet » Javascript »

Recorrer tabla

Estas en el tema de Recorrer tabla en el foro de Javascript en Foros del Web. has esto: copia y pega el codigo fuente de la pagina......

  #31 (permalink)  
Antiguo 25/08/2008, 11:05
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años, 3 meses
Puntos: 14
Respuesta: Recorrer tabla

has esto:

copia y pega el codigo fuente de la pagina...
__________________
My path is lit by my own fire, I only go where I desire
  #32 (permalink)  
Antiguo 25/08/2008, 11:12
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

???? donde????
  #33 (permalink)  
Antiguo 25/08/2008, 11:14
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

<div id = "tabla1" style="width: 900px; height:420px; background-color: white; border-bottom : 1px solid #cccccc; border-left : 1px solid #cccccc ; border-widht:4px; overflow:auto;">
<?
$depto_ = $_POST['depto'];
$tipomat_ = $_POST['tipomaterial'];
$fecha_ = $_POST['fecha'];
$conn_ = mysql_connect('localhost','root','') or die(mysql_error());
$selec_ = mysql_select_db('sss') or exit();
$query_ = "select * from varsku where categoria = '$tipomat_'";
$consulta = mysql_query("$query_") or die(mysql_error());
if ((mysql_num_rows($consulta)) < 1)
{
echo "No se encontraron resultados, intentelo de nuevo";
}
else
{
?>
<center><h1 style = "color: blue">Solicitud de Utiles</center>
<center><h1 style = "color: blue">Departamento de:<?php echo $depto_?></center>
<center><h1 style = "color: blue">Fecha de Pedido:<?php echo $fecha_?></center>
<body onload="pinta()">
<?
echo "<form name = formulario action = adicionapedido.php method = get>";
echo "<TABLE BORDER = 10 id = tabla>";
echo "<TR><TH bgcolor=#C0D9D9>Fecha</th><TH bgcolor=#C0D9D9>Categoria</th><TH bgcolor=#C0D9D9>Cod</th><TH bgcolor=#C0D9D9>Descripcion</th><TH bgcolor=#C0D9D9>Unidad</th><TH bgcolor=#C0D9D9>Cantidad</th>";
while($sql = mysql_fetch_array($consulta))
{
echo "<tr>";
echo "<td>".$fecha_."</td>";
echo "<td>".$sql['subcategoria']."</td>";
echo "<td>".$sql['codigo']."</td>";
echo "<td>".$sql['descrip']."</td>";
?><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> <?
echo "</tr>";
}
echo "</table>";
echo "</form>";
?></body>
<?
}
mysql_close($conn_);
?>
</div>
<div float:bottom>
<input type="button" name="adicionapedido" value="Realizar Pedido">
<input value="Ver valores de la tabla" onclick="datosTextos()" type="button" />

</div>
<?
}
?>
<?
piepagina();
?>


<script language="javascript">
function pinta()
{
cual=document.getElementById("tabla").rows;
for(a=0;a<cual.length;a++)
{
color(a);
}
}
function color(b)
{
if(b%2==0)
cual[b].style.backgroundColor="#9999FF";
else
cual[b].style.backgroundColor="white";
}
</script>

<script>
function datosTextos()
largo = document.formulario.und.length;
und = document.formulario.und;//array con todos los und
cant = document.formulario.cant;//array con todos los cant

for(i=0;i<largo;i++)
{
alert(und[i]+" "+cant[i]);//un alert por fila....
}
</script>
  #34 (permalink)  
Antiguo 25/08/2008, 11:25
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años, 3 meses
Puntos: 14
Respuesta: Recorrer tabla

pega el codigo fuente de tu pagina aca
__________________
My path is lit by my own fire, I only go where I desire
  #35 (permalink)  
Antiguo 25/08/2008, 11:27
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

Cita:
Iniciado por foreverodd Ver Mensaje
pega el codigo fuente de tu pagina aca
alli lo tienes arriba de tu post
  #36 (permalink)  
Antiguo 25/08/2008, 11:35
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años, 3 meses
Puntos: 14
Respuesta: Recorrer tabla

mira, haces click derecho sobre la pagina y le das "ver codigo fuente" lo selecionas y lo pegas, me refiero al codigo HTML generado no a tu script
__________________
My path is lit by my own fire, I only go where I desire
  #37 (permalink)  
Antiguo 25/08/2008, 11:40
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

<div id = "tabla1" style="width: 900px; height:420px; background-color: white; border-bottom : 1px solid #cccccc; border-left : 1px solid #cccccc ; border-widht:4px; overflow:auto;">

<center><h1 style = "color: blue">Solicitud de Utiles</center>
<center><h1 style = "color: blue">Departamento de:ADMINISTRACION</center>
<center><h1 style = "color: blue">Fecha de Pedido:25/08/08</center>
<body onload="pinta()">
<form name = formulario action = adicionapedido.php method = get><TABLE BORDER = 10 id = tabla><TR><TH bgcolor=#C0D9D9>Fecha</th><TH bgcolor=#C0D9D9>Categoria</th><TH bgcolor=#C0D9D9>Cod</th><TH bgcolor=#C0D9D9>Descripcion</th><TH bgcolor=#C0D9D9>Unidad</th><TH bgcolor=#C0D9D9>Cantidad</th><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>123</td><td>Lápices Mongol</td><td id="unidad"><input type="text" name="und" id="und"></td>

<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>124</td><td>Lápiz Mecánico 0.5 / 0.7</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>125</td><td>Liquido corrector Pentel blanco</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>126</td><td>Marcadores permanentes N 60 Verde</td><td id="unidad"><input type="text" name="und" id="und"></td>

<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>127</td><td>Repuesto Borrador Mecànico</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>128</td><td>Marcadores permanentes N 60 Negro</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>129</td><td>Minas 2B 0.5</td><td id="unidad"><input type="text" name="und" id="und"></td>

<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>130</td><td>Minas 2B 0.7</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>131</td><td>Pluma Uni-ball 0.8</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>132</td><td>Plumas Azul</td><td id="unidad"><input type="text" name="und" id="und"></td>

<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>133</td><td>Plumas Negra</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>134</td><td>Plumas Roja</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>135</td><td>Repuesto Pentel BK 77 colores variados</td><td id="unidad"><input type="text" name="und" id="und"></td>

<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>136</td><td>Resaltadores colores variados</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>137</td><td>Marcadores de Agua BIC</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>138</td><td>Borrador Tablero</td><td id="unidad"><input type="text" name="und" id="und"></td>

<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>PAPELERIA</td><td>139</td><td>Etifold</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>PAPELERIA</td><td>140</td><td>banderita adhesivas</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>PAPELERIA</td><td>141</td><td>Pendaflex legales</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr><tr><td>25/08/08</td><td>OTROS/VARIOS</td><td>304</td><td>Vale Provisional</td><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> </tr></table></form></body>
</div>
<div float:bottom>
<input type="button" name="adicionapedido" value="Realizar Pedido">
<input value="Ver valores de la tabla" onclick="datosTextos()" type="button" />

</div>
<div id="pie">
AviIntranet&copy; 2007 Desarrollado
</div>
</div>
</div>
</body>

<script language="javascript">
function pinta()
{
cual=document.getElementById("tabla").rows;
for(a=0;a<cual.length;a++)
{
color(a);
}
}
function color(b)
{
if(b%2==0)
cual[b].style.backgroundColor="#9999FF";
else
cual[b].style.backgroundColor="white";
}
</script>

<script>
function datosTextos()
largo = document.formulario.und.length;
und = document.formulario.und;//array con todos los und
cant = document.formulario.cant;//array con todos los cant

for(i=0;i<largo;i++)
{
alert(und[i]+" "+cant[i]);//un alert por fila....
}
</script>
  #38 (permalink)  
Antiguo 25/08/2008, 11:45
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años, 3 meses
Puntos: 14
Respuesta: Recorrer tabla

a la funcion le faltan las llaves

y cauerdate de poner los atributoes entre comillas.

ya lo probe y me mostro los datos
__________________
My path is lit by my own fire, I only go where I desire
  #39 (permalink)  
Antiguo 25/08/2008, 12:33
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

Ahora si me tira los alert pero me imprime en el objetHTMLInputElement
  #40 (permalink)  
Antiguo 25/08/2008, 12:39
Avatar de foreverOdd  
Fecha de Ingreso: noviembre-2007
Ubicación: Caracas
Mensajes: 489
Antigüedad: 17 años, 3 meses
Puntos: 14
Respuesta: Recorrer tabla

alert(und[i].value+" "+cant[i].value);//un alert por fila....
__________________
My path is lit by my own fire, I only go where I desire
  #41 (permalink)  
Antiguo 25/08/2008, 12:51
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

Excelente... Muchisimas gracias x el tiempo y la ayuda ;)
  #42 (permalink)  
Antiguo 25/08/2008, 13:07
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

for(i=0;i<largo;i++)
{
if ((und[i].value != " ") && (cant[i].value != " "))
{
alert(und[i].value+" "+cant[i].value);//un alert por fila....
}
else
{
alert("Espacio en blanco")
}
}
Disculpa... este if que tiene mal... quiero evaluar si los campos estan en blanco....
  #43 (permalink)  
Antiguo 25/08/2008, 13:09
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: Recorrer tabla

Wow... es una pedacito de código con muchísimos errores...

<tr><td>25/08/08</td><td>BOLIGRAFO-LAPIZ</td><td>123</td><td>Lápices Mongol</td><td id="unidad"><input type="text" name="und" id="und"></td>

En donde esta la etiqueta </tr> para cerrar el primero <tr>???

Tienes muchísimos elementos con los id y name iguales. NO debe haber mas de un elemento con el mismo id. Eso pasa por que te han llenado la cabeza diciéndote que no necesitas recorrer la tabla y que solo te hacen falta los id.

En serio que necesitas reescribir ese código y esa función si no quieres tener mas problemas y dolores de cabeza en el futuro. Por ejemplo tienes varios atributos con el mismo name lo cual te causara problemas cuando quieras capturar los valores con php o alguno otro lenguaje.

Siento no haber llegado antes para corregir todo esto antes de que hicieras tanto trabajo... Te repito, tu código está todo mal. Dime que es lo que quieres lograr, pon una imagen si es posible y te ayudo a hacerlo.

Por cierto, no es necesario que cites todos los menajes a los que respondes pero si es recomendable que uses etiquetas code o html cuando pones tu código ya que facilitan la lectura del mismo.
__________________
twitter: @imbuzu
  #44 (permalink)  
Antiguo 25/08/2008, 13:20
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

echo "<form name = formulario action = adicionapedido.php method = get>";
echo "<TABLE BORDER = 10 id = tabla>";
echo "<TR><TH bgcolor=#C0D9D9>Fecha</th><TH bgcolor=#C0D9D9>Categoria</th><TH bgcolor=#C0D9D9>Cod</th><TH bgcolor=#C0D9D9>Descripcion</th><TH bgcolor=#C0D9D9>Unidad</th><TH bgcolor=#C0D9D9>Cantidad</th>";
while($sql = mysql_fetch_array($consulta))
{
echo "<tr>";
echo "<td>".$fecha_."</td>";
echo "<td>".$sql['subcategoria']."</td>";
echo "<td>".$sql['codigo']."</td>";
echo "<td>".$sql['descrip']."</td>";
?><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> <?
echo "</tr>";
}
echo "</table>";
echo "</form>";

Creo que en este pedazo de codigo te respondo algunas preguntas....
  #45 (permalink)  
Antiguo 25/08/2008, 16:57
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: Recorrer tabla

ya eh analizado ese pedazo de código anteriormente. Mi respuesta:

Tu código está mal escrito, tiene muchos errores y te va a generar problemas en el futuro.

Como te dije en el MP yo solo tenia intención de ayudarte.
__________________
twitter: @imbuzu
  #46 (permalink)  
Antiguo 26/08/2008, 13:12
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: Recorrer tabla

Jrodriguez me envio el siguiente MP.

Cita:
Iniciado por jrodriguez30
<div id = "tabla1" style="width: 900px; height:420px; background-color: white; border-bottom : 1px solid #cccccc; border-left : 1px solid #cccccc ; border-widht:4px; overflow:auto;">
<?
$depto_ = $_POST['depto'];
$tipomat_ = $_POST['tipomaterial'];
$fecha_ = $_POST['fecha'];
$conn_ = mysql_connect('GUESS','GUESS','???') or die(mysql_error());
$selec_ = mysql_select_db('sss') or exit();
$query_ = "select * from varsku where categoria = '$tipomat_'";
$consulta = mysql_query("$query_") or die(mysql_error());
if ((mysql_num_rows($consulta)) < 1)
{
echo "No se encontraron resultados, intentelo de nuevo";
}
else
{
?>
<body onload="pinta()">
<?
echo "<form name = formulario action = adicionapedido.php method = get>";
echo "<TABLE BORDER = 10 id = tabla>";
echo "<TR><TH bgcolor=#C0D9D9>Fecha</th><TH bgcolor=#C0D9D9>Categoria</th><TH bgcolor=#C0D9D9>Cod</th><TH bgcolor=#C0D9D9>Descripcion</th><TH bgcolor=#C0D9D9>Unidad</th><TH bgcolor=#C0D9D9>Cantidad</th>";
while($sql = mysql_fetch_array($consulta))
{
echo "<tr>";
echo "<td>".$fecha_."</td>";
echo "<td>".$sql['subcategoria']."</td>";
$subcat = $sql['subcategoria'];
echo "<td>".$sql['codigo']."</td>";
$codigo = $sql['codigo'];
echo "<td>".$sql['descrip']."</td>";
$desc = $sql['descrip'];
?><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> <?
echo "</tr>";
}
echo "</table>";
echo "</form>";
?></body>
<?
}
mysql_close($conn_);
?>
</div>
<div float:bottom>
<input type="button" name="adicionapedido" value="Realizar Pedido">
<input value="Ver valores de la tabla" onclick="datosTextos()" type="button" />

</div>
<?
}
?>
<?
piepagina();
?>


<script language="javascript">
function pinta()
{
cual=document.getElementById("tabla").rows;
for(a=0;a<cual.length;a++)
{
color(a);
}
}
function color(b)
{
if(b%2==0)
cual[b].style.backgroundColor="#9999FF";
else
cual[b].style.backgroundColor="white";
}
</script>

<script language="javascript">
function datosTextos()
{
<?
$conn_ = mysql_connect('localhost','root','') or die(mysql_error());
$selec_ = mysql_select_db('sss) or exit();
?>
col = document.formulario.und.length;
und = document.formulario.und;//array con todos los und
cant = document.formulario.cant;//array con todos los cant
for(i=0;i<col;i++)
{
if ((und[i].value != " ") && (cant[i].value != " "))
{
alert(und[i].value+" "+cant[i].value);
}
}
}
</script>
Si esta tan mal dime que debo corregir....
Lo que esta en color plata lo eh modificado para asegurar su seguridad...
__________________
twitter: @imbuzu
  #47 (permalink)  
Antiguo 26/08/2008, 13:53
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: Recorrer tabla

Comenzemos a arreglar ese codigo... UFF esto va a llevar tiempo.... (12:14)

1.- Estas metiendo un <body> dentro de un <div> Eso no se debe hacer... Cambia ese body por otro div.
Código PHP:
<div id = "tabla1" style="width: 900px; height:420px; background-color: white; border-bottom : 1px solid #cccccc; border-left : 1px solid #cccccc ; border-widht:4px; overflow:auto;">
<?
$depto_ 
$_POST['depto'];
$tipomat_ $_POST['tipomaterial'];
$fecha_ $_POST['fecha'];
$conn_ mysql_connect('GUESS','GUESS','???') or die(mysql_error());
$selec_ mysql_select_db('sss') or exit();
$query_ "select * from varsku where categoria = '$tipomat_'";
$consulta mysql_query("$query_") or die(mysql_error());
if ((
mysql_num_rows($consulta)) < 1)
{
echo 
"No se encontraron resultados, intentelo de nuevo";
}
else
{
?>
<div onload="pinta()">
inmediatamente después de eso tienes:

Código PHP:
<?
echo "<form name = formulario action = adicionapedido.php method = get>";
echo 
"<TABLE BORDER = 10 id = tabla>";
echo 
"<TR><TH bgcolor=#C0D9D9>Fecha</th><TH bgcolor=#C0D9D9>Categoria</th><TH bgcolor=#C0D9D9>Cod</th><TH bgcolor=#C0D9D9>Descripcion</th><TH bgcolor=#C0D9D9>Unidad</th><TH bgcolor=#C0D9D9>Cantidad</th>";
Ahi hay que meter comillas y eso ya te lo habían dicho antes.
No usar mayusculas en las etiquetas.
Preferible usar CSS para lograr un codigo mas lipio (No edito esa parte)

Código PHP:
<?
echo "<form name='formulario' action='adicionapedido.php' method='get'>";
echo 
"<table border='10' id='tabla'>";
echo 
"<tr><th bgcolor='#C0D9D9'>Fecha</th><th bgcolor='#C0D9D9'>Categoria</th><th bgcolor='#C0D9D9'>Cod</th><th bgcolor='#C0D9D9'>Descripcion</th><TH bgcolor='#C0D9D9'>Unidad</th><TH bgcolor='#C0D9D9'>Cantidad</th>";
Despues viene el loop el cual genera herrores a lo loco...

Código PHP:
while($sql = mysql_fetch_array($consulta))
{
echo "<tr>";
echo "<td>".$fecha_."</td>";
echo "<td>".$sql['subcategoria']."</td>";
$subcat = $sql['subcategoria'];
echo "<td>".$sql['codigo']."</td>";
$codigo = $sql['codigo'];
echo "<td>".$sql['descrip']."</td>";
$desc = $sql['descrip'];
?><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> <?
echo "</tr>";
}
Especificamente las dos ultimas td son las problematicas ya que por cada vuelta del loop se genera otro td con el mismo id lo cual es un error. No debe haber mas de un elemento con el mismo id. Yo en su lugar usare clases. Lo mismo sucede con los name, lo cual tambien es un problema. No elemento deve contener el mismo name que otro elemento. El name deve contener un valor unico para cada elemento.
Para corregirlo es necesario incrementar una variable a cada vuelta del loop.

Código PHP:
$i = 0;
while($sql = mysql_fetch_array($consulta))
{
echo "<tr>";
echo "<td>".$fecha_."</td>";
echo "<td>".$sql['subcategoria']."</td>";
$subcat = $sql['subcategoria'];
echo "<td>".$sql['codigo']."</td>";
$codigo = $sql['codigo'];
echo "<td>".$sql['descrip']."</td>";
$desc = $sql['descrip'];
?><td class="unidad"><input type="text" name=<?php echo "und".$i ?> id="und"></td>
<td class="cantidad"><input type="text" name=<?php echo "cant".$i ?> id="cant"></td> <?
echo "</tr>";
$i++;
}
De esa manera se generan name y id unicos...

AL parecer eso es todo en cuanto al php que te genera el markup.

De ahi nos saltamos a tu js
Tu tienes:

Código PHP:
<script language="javascript">
function pinta()
{
cual=document.getElementById("tabla").rows;
for(a=0;a<cual.length;a++)
{
color(a);
}
}
function color(b)
{
if(b%2==0)
cual[b].style.backgroundColor="#9999FF";
else
cual[b].style.backgroundColor="white";
}
</script>

<script language="javascript">
function datosTextos()
{
<?
$conn_ 
mysql_connect('localhost','root','') or die(mysql_error());
$selec_ mysql_select_db(sss) or exit();
?>
col = document.formulario.und.length;
und = document.formulario.und;//array con todos los und
cant = document.formulario.cant;//array con todos los cant
for(i=0;i<col;i++)
{
if ((und[i].value != " ") && (cant[i].value != " "))
{
alert(und[i].value+" "+cant[i].value);
}
}
}
</script>
Tu primer funcion al parecer nos da el estilo zebra en la tabla, esa funcion parece bien.

Luego la segunda funcion

Código PHP:
<script language="javascript">
function datosTextos()
{
<?
$conn_ 
mysql_connect('localhost','root','') or die(mysql_error());
$selec_ mysql_select_db(sss) or exit();
?>
//col = document.formulario.und.length;
//und = document.formulario.und;//array con todos los und
//cant = document.formulario.cant;//array con todos los cant
for(i=0;document.formuario.und+i;i++)
col = document.formulario.und+i;
und = document.formulario.und+i;
{
if ((und.value != " ") && (cant.value != " "))
{
alert(und.value+" "+cant.value);
}
}
}
</script>
fijate que eh cambiado el for y comentado las tres lineas anteriores al for.
No eh provado si la condicion del for funcione pero deveria. Prueva y dime que resultados te salen y de ahi seguimos...

(12:55)
__________________
twitter: @imbuzu
  #48 (permalink)  
Antiguo 26/08/2008, 14:49
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: Recorrer tabla

Aquí un código similar al tuyo, genera los elementos de forma dinámica y les asigna un name distinto y único. Luego los recorre y da un alert por fila el cual contiene los datos de dichos input.

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
	<meta http-equiv="content-type" content="text/html; charset=utf-8" />
	<title>Untitled</title>
</head>
<body>
<form name="formulario">
	<table>
		<tr>
			<th>1</th>
			<th>2</th>
			<th>3</th>
			<th>4</th>
		</tr>
		<script type="text/javascript">
			var i = 0;
			while(i<10){
				document.write('<tr>');
				document.write('<td>1 '+i+'<\/td>');
				document.write('<td>2 '+i+'<\/td>');
				document.write('<td><input type="text" name="cant'+i+'" /><\/td>');
				document.write('<td><input type="text" name="und'+i+'" /><\/td>');
				document.write('<\/tr>');
				i++;
			}
		</script>
		<tr>
			<td><input type="button" onclick='datosTexto()' /></td>
		</tr>
	</table>
</form>
<script type="text/javascript">
	function datosTexto(){
		for(i=0;i<10;i++){
			var cant = "cant";
			var und = "und";
			//alert(document.formulario[cant + i.toString()])
			cant = document.formulario[cant + i.toString()];
			und = document.formulario[und + i.toString()];
	
			if ((und.value != " ") && (cant.value != " ")){
				alert(und.value+" "+cant.value);
			}

		}

	}

</script>
</body>
</html> 
__________________
twitter: @imbuzu
  #49 (permalink)  
Antiguo 28/08/2008, 11:38
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

Cita:
Iniciado por buzu Ver Mensaje
Comenzemos a arreglar ese codigo... UFF esto va a llevar tiempo.... (12:14)

1.- Estas metiendo un <body> dentro de un <div> Eso no se debe hacer... Cambia ese body por otro div.
Código PHP:
<div id = "tabla1" style="width: 900px; height:420px; background-color: white; border-bottom : 1px solid #cccccc; border-left : 1px solid #cccccc ; border-widht:4px; overflow:auto;">
<?
$depto_ 
$_POST['depto'];
$tipomat_ $_POST['tipomaterial'];
$fecha_ $_POST['fecha'];
$conn_ mysql_connect('GUESS','GUESS','???') or die(mysql_error());
$selec_ mysql_select_db('sss') or exit();
$query_ "select * from varsku where categoria = '$tipomat_'";
$consulta mysql_query("$query_") or die(mysql_error());
if ((
mysql_num_rows($consulta)) < 1)
{
echo 
"No se encontraron resultados, intentelo de nuevo";
}
else
{
?>
<div onload="pinta()">
inmediatamente después de eso tienes:

Código PHP:
<?
echo "<form name = formulario action = adicionapedido.php method = get>";
echo 
"<TABLE BORDER = 10 id = tabla>";
echo 
"<TR><TH bgcolor=#C0D9D9>Fecha</th><TH bgcolor=#C0D9D9>Categoria</th><TH bgcolor=#C0D9D9>Cod</th><TH bgcolor=#C0D9D9>Descripcion</th><TH bgcolor=#C0D9D9>Unidad</th><TH bgcolor=#C0D9D9>Cantidad</th>";
Ahi hay que meter comillas y eso ya te lo habían dicho antes.
No usar mayusculas en las etiquetas.
Preferible usar CSS para lograr un codigo mas lipio (No edito esa parte)

Código PHP:
<?
echo "<form name='formulario' action='adicionapedido.php' method='get'>";
echo 
"<table border='10' id='tabla'>";
echo 
"<tr><th bgcolor='#C0D9D9'>Fecha</th><th bgcolor='#C0D9D9'>Categoria</th><th bgcolor='#C0D9D9'>Cod</th><th bgcolor='#C0D9D9'>Descripcion</th><TH bgcolor='#C0D9D9'>Unidad</th><TH bgcolor='#C0D9D9'>Cantidad</th>";
Despues viene el loop el cual genera herrores a lo loco...

Código PHP:
while($sql = mysql_fetch_array($consulta))
{
echo "<tr>";
echo "<td>".$fecha_."</td>";
echo "<td>".$sql['subcategoria']."</td>";
$subcat = $sql['subcategoria'];
echo "<td>".$sql['codigo']."</td>";
$codigo = $sql['codigo'];
echo "<td>".$sql['descrip']."</td>";
$desc = $sql['descrip'];
?><td id="unidad"><input type="text" name="und" id="und"></td>
<td id="cantidad"><input type="text" name="cant" id="cant"></td> <?
echo "</tr>";
}
Especificamente las dos ultimas td son las problematicas ya que por cada vuelta del loop se genera otro td con el mismo id lo cual es un error. No debe haber mas de un elemento con el mismo id. Yo en su lugar usare clases. Lo mismo sucede con los name, lo cual tambien es un problema. No elemento deve contener el mismo name que otro elemento. El name deve contener un valor unico para cada elemento.
Para corregirlo es necesario incrementar una variable a cada vuelta del loop.

Código PHP:
$i = 0;
while($sql = mysql_fetch_array($consulta))
{
echo "<tr>";
echo "<td>".$fecha_."</td>";
echo "<td>".$sql['subcategoria']."</td>";
$subcat = $sql['subcategoria'];
echo "<td>".$sql['codigo']."</td>";
$codigo = $sql['codigo'];
echo "<td>".$sql['descrip']."</td>";
$desc = $sql['descrip'];
?><td class="unidad"><input type="text" name=<?php echo "und".$i ?> id="und"></td>
<td class="cantidad"><input type="text" name=<?php echo "cant".$i ?> id="cant"></td> <?
echo "</tr>";
$i++;
}
De esa manera se generan name y id unicos...

AL parecer eso es todo en cuanto al php que te genera el markup.

De ahi nos saltamos a tu js
Tu tienes:

Código PHP:
<script language="javascript">
function pinta()
{
cual=document.getElementById("tabla").rows;
for(a=0;a<cual.length;a++)
{
color(a);
}
}
function color(b)
{
if(b%2==0)
cual[b].style.backgroundColor="#9999FF";
else
cual[b].style.backgroundColor="white";
}
</script>

<script language="javascript">
function datosTextos()
{
<?
$conn_ 
mysql_connect('localhost','root','') or die(mysql_error());
$selec_ mysql_select_db(sss) or exit();
?>
col = document.formulario.und.length;
und = document.formulario.und;//array con todos los und
cant = document.formulario.cant;//array con todos los cant
for(i=0;i<col;i++)
{
if ((und[i].value != " ") && (cant[i].value != " "))
{
alert(und[i].value+" "+cant[i].value);
}
}
}
</script>
Tu primer funcion al parecer nos da el estilo zebra en la tabla, esa funcion parece bien.

Luego la segunda funcion

Código PHP:
<script language="javascript">
function datosTextos()
{
<?
$conn_ 
mysql_connect('localhost','root','') or die(mysql_error());
$selec_ mysql_select_db(sss) or exit();
?>
//col = document.formulario.und.length;
//und = document.formulario.und;//array con todos los und
//cant = document.formulario.cant;//array con todos los cant
for(i=0;document.formuario.und+i;i++)
col = document.formulario.und+i;
und = document.formulario.und+i;
{
if ((und.value != " ") && (cant.value != " "))
{
alert(und.value+" "+cant.value);
}
}
}
</script>
fijate que eh cambiado el for y comentado las tres lineas anteriores al for.
No eh provado si la condicion del for funcione pero deveria. Prueva y dime que resultados te salen y de ahi seguimos...

(12:55)
Con esta funcion no entra ni al for :s
  #50 (permalink)  
Antiguo 28/08/2008, 14:19
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: Recorrer tabla

No tienes que citar todo el mensaje.... Yo no probé la función pero te pasé un ejemplo de como estoy creando y recorriendo una tabla con name diferentes. Eso debería darte una idea de como solucionar lo del gran problema (aun que tu no lo veas asi) que tienes con tu código original.
__________________
twitter: @imbuzu
  #51 (permalink)  
Antiguo 29/08/2008, 08:09
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

OK... dejoslo asi.... gracias x la ayuda
  #52 (permalink)  
Antiguo 29/08/2008, 08:54
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Respuesta: Recorrer tabla

buzu, tienes una paciencia in-humana. Menudos posts... jeje.

@jrodriguez30: Lo mejor es que generes el documento y con el código fuente vayas a http://validator.w3.org y lo valides. Si no resulta tendrás que hacer los cambios pertinentes que leerás en la respuesta de ese análisis.

Una vez tengas un documento correcto entonces es hora de machacar el javascript, pero no antes, porque como te dijo mi compañero:

Cita:
Iniciado por buzu Ver Mensaje
Tu código está mal escrito, tiene muchos errores y te va a generar problemas en el futuro.
Sin ánimo de ser reiterativo.



Saludos.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #53 (permalink)  
Antiguo 29/08/2008, 10:51
 
Fecha de Ingreso: abril-2008
Mensajes: 151
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Recorrer tabla

Si... tu tbn lo notaste pero normal desde que puse mi primer post me entere que hay personas que nacieron programando en javascript... pero normal... soy una dama... me tocara aprender por otros medios....
  #54 (permalink)  
Antiguo 30/08/2008, 11:43
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: Recorrer tabla

Sorry!!! Lo siento por mi falta de paciencia, pero es que no se, me pongo así cuando veo que se está violando el estandar solo por que alguien dice que "usar id es lo mejor" ufff... Que le puedo hacer, me apasionan los estándares. Nuevamente disculpas y gracias por hacerme ver ese punto, lo tomaré en cuenta en posteriores comentarios.

Saludos.
__________________
twitter: @imbuzu
  #55 (permalink)  
Antiguo 30/08/2008, 14:08
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 4 meses
Puntos: 45
Respuesta: Recorrer tabla

Cita:
Iniciado por jrodriguez30 Ver Mensaje
Si... tu tbn lo notaste pero normal desde que puse mi primer post me entere que hay personas que nacieron programando en javascript
Sí, yo nací ya sabiendo. Mi madre me leía el manual cada noche mientras estaba todavía embarazada, y así estoy.

Cita:
Iniciado por jrodriguez30 Ver Mensaje
me tocara aprender por otros medios....
Debemos aprender de Todos los medios disponibles, eso nos enriquece. A cada respuesta del foro volverlo a intentar con lo adquirido y buscar en google nuevas referencias de lo que no nos sale. Tienes muchos medios a tu disposición, y muchos usuarios dispuestos desinteresadamente a ayudarte. Tan sólo debes saber cómo preguntar. Puedes leer Cómo hacer preguntas de manera inteligente para mejorar tus posts.

Cita:
Iniciado por jrodriguez30 Ver Mensaje
... pero normal... soy una dama...
No veo la diferencia. No sé los demás, pero yo no voy a tratar a un usuario de diferente forma sólo porque sea una dama o un bárbaro.


No pretendemos desanimarte con estas palabras, pero entiende que buzu te ha comentado mayoritariamente fallos de HTML, que se supone que se debe controlar para tener un javascript decente (y más con PHP).


Saludos
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #56 (permalink)  
Antiguo 31/08/2008, 04:35
Avatar de buzu  
Fecha de Ingreso: octubre-2006
Ubicación: San Francisco, CA
Mensajes: 2.168
Antigüedad: 18 años, 4 meses
Puntos: 122
Respuesta: Recorrer tabla

pues dependiendo de la usuaria yo podría darle trato especial jajajaja... Una broma. En realidad yo tambien trato igual, de hecho ni me interesa saber si son hombres, mujeres o ET. Simplemente ando aca viendo a ver a quien puedo ayudar y nada mas.

A diferencia de derkenuke yo no nací sabiendo pero ya aprendí. Como siempre digo, "no es que para mi sea mas fácil, es solo que yo le hecho mas ganas"

Que te tocará aprender de otros medio es seguro. Este es solo un forito en el que vienes y preguntas cuando algo no lo entiendes o te atoraste con algo. Quieres aprender Javascript a lo machin, comprate libros, lee blogs relacionados, busca información y sobre todo practica hasta que te ardan los ojos de estar frente al monitor y los dedos estén gritando de tanto pegarle a las teclas. En ningún momento minimizo el foro, pero enfrentemoslo, ninguno de nosotros aprendió lo que sabe leyendo solo los post del foro.
__________________
twitter: @imbuzu
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 14:30.