Saludos a todos.
Veréis, estoy haciendo una página que tiene que contener una tabla con los doce meses y 31 filas (que representan sus días)
Como la tabla en sí representa un insert de 372 registros seguidos (un poco difícil de controlar si falla algo) opté por generar los campos de manera dinámica, tal que así:
Código PHP:
<table cellspacing="0" summary="table" class="broom_table">
<?php
$dias = array ();
for ($i = 0; $i <= 31; $i++)
$dias[$i] = $i;
$nombres = array ("Dia\Mes","enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre");
?>
<thead><tr><?php for ($r_1 = 0; $r_1 < count ($nombres); $r_1++){?><th><?php echo $nombres[$r_1];?></th><?php }?></tr></thead>
<tbody>
<?php for ($r_1 = 1; $r_1 < count ($dias); $r_1 ++){?>
<tr<?php if ($r_1 % 2 == 0){echo " class=\"odd\"";}else{echo " class=\"even\"";}?>>
<?php $aux = 0;?>
<?php for ($r_2 = 0; $r_2 < count ($nombres); $r_2++){?>
<?php if ($aux == 0){?>
<td><?php echo $r_1;?></td>
<?php }else{?>
<?php
$sel_2 = "SELECT * FROM estadillo WHERE id_producto='" . $_GET["id_producto"] . "'";
$que_2 = mysql_query ($sel_2, $dbh) or die ('I cannot execute the query because: ' . mysql_error () . '<br />And the query is: ' . $sel_2 . '<br />');
$x = mysql_fetch_row ($que_2);
?>
<td><input type="text" name="cols[<?php echo $r_1;?>][<?php echo $r_2;?>]" value="<?php echo $x[$r_2][$r_1];?>" size="3" /></td>
<?php }?>
<?php $aux ++;?>
<?php }?>
</tr>
<?php $i++;}?>
<tr><td colspan="13"><input type="submit" value="Guardar" /></td></tr>
</tbody>
</table>
Después, en el formulario que recoge los inputs (mediante el método POST) hago un script así:
Código PHP:
for ($i = 0; $i < 31; $i++)
{
for ($j = 0; $j < 12; $j++)
{
$upd = "UPDATE estadillo SET " . $i . "_" . $j . "='" . $_POST["cols"][$j][$i] . "' WHERE id_estadillo='" . $x["id_estadillo"] . "'";
mysql_query ($upd, $dbh) or die ('I cannot execute the query because: ' . mysql_error (E_ALL) . '<br />And the query is: ' . $upd . '<br />');
}
}
He comprobado bastante asombrado, que me falla al intentarlo una vez, pero que si refresco la página cuando me da el error, me hace la inserción sin problema... Lo cual me es un poco incómodo, porque sigue sin funcionar como yo quiero... ¿Alguien sabría decirme qué es lo que estoy haciendo mal?
Muchas gracias a todos por descontado y un saludo.