Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/01/2013, 17:20
Avatar de Briss
Briss
 
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Actualizar varios registros mediante checkbox

Hola a todos
Tengo un formulario donde muestro algunos datos en base a una consulta, y pretendo actualizar esos registros mediante un checkbox
siendo así que los registros donde marque el checkbox (Lo seleccione)... deben actualizarse
Si marco un solo registro funciona bien se actualiza... pero al momento de marcar todos solo se actualiza uno y los demás en el campo a actualizar quedan vacios....
¿Que estoy haciendo mal?
De antemano GRACIAS





Formulario

<form action="<?php echo $editFormAction; ?>" method="post" id="form1">
<table>

<thead>
<tr>
<td></td>
<td>ID</td>
<td>Nombre</td>
<td>Seleccionar</td>
</tr>
</thead>
<?php do { ?>
<tbody>
<tr>
<input type="hidden" name="idg[]" id="idg" value="" size="26" />Este valor lo obtengo al elegir un elemento en un select (esto es lo que debo actualizar)

<td><input type="text" name="clave3[]" id="clave3" value="<? echo $row_productos['id']; ?>" size="10" /></td>
<td><? echo $row_productos['Nombre']; ?></td>
<td><input name="aprobar[]" value="<? echo $row_productos['id'];?>" type="checkbox" /><td>

</tr>
</tbody>
<?php } while ($row_productos = mysql_fetch_assoc($productos)); ?>
</table>


<input type="submit" value="Actualizar" />

<input type="hidden" name="MM_update" value="form1" />


</form>






PARA ACTUALIZAR

Código PHP:
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
if( 
is_array $_POST 'aprobar' ])) 


   foreach(
$_POST["aprobar"] as $i => $value){


                 
$estado$_POST['idg'][$i];
                 
$id$_POST['aprobar'][$i];
         
$query=mysql_query("update productos SET estado='$estado' WHERE id='$id'");
                      

                       
  
mysql_select_db($database_connection$connection);


  
$updateGoTo "index.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$updateGoTo .= (strpos($updateGoTo'?')) ? "&" "?";
    
$updateGoTo .= $_SERVER['QUERY_STRING'];
  }    
    }