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)