Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/02/2009, 11:31
Koden
 
Fecha de Ingreso: marzo-2005
Mensajes: 197
Antigüedad: 21 años, 7 meses
Puntos: 1
Respuesta: Problema con inputs y arrays

¡Uf!

Al final después de mucho esfuerzo dí con el problema... (Pese a que aún no entiendo bien por qué da ese problema en concreto )

el caso es que ahora, con este código funciona de maravilla:

Código PHP:
$sel_1 = "SELECT id_estadillo FROM estadillo WHERE id_producto='" . $_POST["id_producto"] . "'";
$que_1 = mysql_query ($sel_1, $dbh) or die ('I cannot execute the query because: ' . mysql_error () . '<br />And the query is: ' . $sel_1 . '<br />');

$n = mysql_num_rows ($que_1);

if (
$n == 0)
{
    
$ins = "INSERT INTO estadillo(id_producto) VALUES('" . $_POST["id_producto"] . "')";
    
mysql_query ($ins, $dbh) or die ('I cannot execute the query because: ' . mysql_error () . '<br />And the query is: ' . $ins . '<br />');

    @
$knd_op = "new";
}

//Esto es el añadido, antes lo ponía antes de la consulta INSERT INTO
$sel_1 = "SELECT id_estadillo FROM estadillo WHERE id_producto='" . $_POST["id_producto"] . "'";
$que_1 = mysql_query ($sel_1, $dbh) or die ('I cannot execute the query because: ' . mysql_error () . '<br />And the query is: ' . $sel_1 . '<br />');
$x = mysql_fetch_array ($que_1);

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 />');
    }
} 
El caso es que ahora (la cosa está claro es no funcionar a toda costa... ) me está dando error al visualizarlo... Y con este código

Código PHP:
<?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");
?>
<table cellspacing="0" summary="table" class="broom_table">
    <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 " . ($r_1 - 1) . "_" . ($r_2 - 1) . " AS campo 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 - 1);?>][<?php echo ($r_2 - 1);?>]" value="<?php echo $x["campo"];?>" size="3" /></td>
        <?php }?>
        <?php $aux ++;?>
        <?php }?>
        </tr>
        <?php $i++;}?>
        <tr><td colspan="13"><input type="submit" value="Guardar" /></td></tr>
    </tbody>
</table>
Me da otro de esos odiosos notice (la primera vez que los veo y ya me sacan de quicio... ¡Al menos con los errores y los warning tienes a qué atenerte!) en la línea 70 del script (que es esta en concreto)

Código PHP:
<td><input type="text" name="cols[<?php echo ($r_1 - 1);?>][<?php echo ($r_2 - 1);?>]" value="<?php echo $x["campo"];?>" size="3" /></td>
El notice en cuestión es este:

Código:
<b>Notice</b>:  Undefined index:  campo in <b>C:\Archivos de programa\EasyPHP 3.0\www\aplicacion\assets\php\modulos\mod_esta.php</b> on line <b>70</b><br />
¿Alguna sugerencia?