Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/07/2012, 04:18
portela85
 
Fecha de Ingreso: abril-2011
Mensajes: 103
Antigüedad: 13 años, 1 mes
Puntos: 3
Error al Actualizar varios registros a la vez con PHP

Buenos días amigos,

estoy intentando actualizar varios registros a la vez desde un formulario PHP y me sale el siguiente error : "Request-URI Too Large The requested URL's length exceeds the capacity limit for this server."

Mi problema es el siguiente:
Primero muestro una serie de registros a partir de aplicar una serie de filtros a un formulario. Cuantos menos requisitos, más registros se mostrarán.
Cada uno de esos registros va acompañado de un checkbox y al enviar el formulario, quiero que me actualice un campo de esos registros sólo en el caso de que el checkbox esté marcado.

validar_ver.tpl.php -> esta es la plantilla donde se muestran los datos y desde la que quiero que se saquen los registros a actualizar.
Código:
<form action="informecliente.admin.php">
<input type="" name="accion" value="actvalidarbloque">

<table border="1" bgcolor="#ffffff" cellspacing="0" cellpadding="3" width="50%" align="left">

if (isset($resultado_informe) && count($resultado_informe)>0) {
    $i=1;
    foreach($resultado_informe as $resultado) {
     
     for($m=1;$m<=50;$m++){
	$j=1;
	
?>
<tr>
    
    <td><input type="checkbox" name="validate<?=$m?>">
        <input style="visibility:hidden; width:1px;" value="<?=$resultado['idtrabajo']?>" name="idtrabajo"/>
        <input style="visibility:hidden; width:1px;" value="<?=$resultado['idtrabajo']?>" name="idtrabaj<?=$m?>"/></td>
	
    <td><?=$resultado['grupo'];?></td>
    <td><?=$resultado['cliente'];?></td>
</tr>
}}}

</table>
<input class="envio" type="submit" value="Validar Bloque" />
informecliente.php Desde este archivo, necesito actualizar un campo de los registros que tengan su checkbox activado. Este trozo de código está incluido dentro de un switch

Código:
	case 'actvalidarbloque':
		    
	for ($i=1;;$i++){
		
	$idtrab = $_POST['idtrabaj'.$i];
     	$val= $_POST['validate'.$i];
	
	$validar= new InformeCliente();
	$validar->validarCampoValidar($val);
	
if ($validar==1){
    
      $query = "UPDATE trabajos SET estadocliente ='SI' WHERE idtrabajo ='$idtrab';";
    
      if (mysql_query($query))
    
         echo "<br>Ha sido validada la actividad". $idtrab;
   }
   else{}
}   
	break;
La función validarCampoValidar me devuelve 0 o 1 en función de si esta activado o no el checkbox.

Gracias por adelantado y un saludo