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

Muchas gracias por tu ayuda quimfv. Casi casi lo tengo. Gracias.

Digo casi porque no consigo que termine de funcionar. Ya entra en el bucle, gracias al límite aunque debo definirlo mejor (recoge todos los $_POST que hay en el formulario y no sólo los de $idtrabajo).

El problema que tengo ahora es en la validación del checkbox. Si está a 0, tiene que ejecutar una sentencia de actualización sobre un registro de sql, y si está activado (a 1), me tiene que ejecutar otra sentencia sql. El problema es que toma todos los checkbox como si estuvieran a 1.

La función ValidacionTrabajos la he usado de forma parecida en otros casos y no he tenido este problema

Código:
    public function ValidacionTrabajos($val){
        if ($val == null || $val == ''){
            $validacion=0;
            }
            else{
            $validacion=1;
            }
            return $validacion;
    
    }    
}
esta es el código que recoge los datos del formulario y llama a la función ValidacionTrabajos:
Código:
	case 'actvalidarbloque':

$j=1;
	for ($i=1;$i<count($_POST);$i++){
	
	$idtrab = $_POST['idtrabaj'.$j];
     	$val= $_POST['validate'.$j];
	
	$validar= new InformeCliente();
	$validar->validarCampoValidar($val);
	
if ($validar==0){
    
      $query = "UPDATE trabajos SET estadocliente ='' WHERE idtrabajo ='$idtrab';";
  
	
	$consulta = new Consulta($query);    
   }
   else{
        $query = "UPDATE trabajos SET estadocliente ='SI' WHERE idtrabajo ='$idtrab';";
	    
	$consulta = new Consulta($query);    
         echo "<br>Ha sido validada la actividad". $idtrab;
   }

$j++;

}

    $tpl_cuerpo = 'validar_ver.tpl.php';

	break;
Y esta la plantilla que muestra los trabajos y el checkbox
Código:
    
foreach($resultado_informe as $resultado) {
    $i++ ;
    
	$j=1;
	
?>
<tr>
    <!
    <td><input type="checkbox" name="validate<?=$i?>">
        <input style="visibility:; width:1px;" value="<?=$resultado['idtrabajo']?>" name="idtrabaj<?=$i?>"/>
</td>
</tr>
}

Muchas gracias de nuevo por adelantado!