Tienes varios problemas, para comenzar el campo 'validacion' no lo estas definiendo como un array, por lo tanto estas sobre escribiendo su valor, ahora, en la validación que haces no estas comparando, estas definiendo!
Código PHP:
Ver originalif ($validar = 0) { //defines el valor 0 $validar
if ($validar == 0) { //comparas si el valor de $validar es 0
por otro lado, no me parece del todo correcta la validación, puedes hacerlo directamente en el loop, eliminas lineas de código innecesarias y tendrás una mejor código...
Código PHP:
Ver original// tu código
$valid = new InformeCliente($_POST['idtrabajo']);
$valido = new InformeCliente($_POST['idtrabajo']);
$valido=$valid->validarCampoValidacion($_POST['validacion']);
if ($valido=0){
}
else{
$query2="UPDATE trabajos SET estadocliente ='SI' WHERE idtrabajo ='$trabajo'";
echo $query2;
$consulta = new Consulta($query2);
if(!$consulta){throw new Exception("Error al validar las Actividades");}
}
//código "resumido"
if (isset($_POST['validar'][$item])) { $query2="UPDATE trabajos SET estadocliente ='SI' WHERE idtrabajo ='$trabajo'";
echo $query2;
$consulta = new Consulta($query2);
if(!$consulta){throw new Exception("Error al validar las Actividades");}
}
Ojo, la variable $item deberás definirla en algún lado eh ir incrementandola por cada item, y obviamente debes primero convertir la variable 'validacion' en un array en el formulario