Traigo de una BD las caracteristicas de un auto.
listo todas las caracteristicas(de otra consulta * from Caracteristicas) y donde ese id exista en las aplicadas al auto las pone como CHECKED.
El problema que tengo es que si el usuario quiere quitar una propiedad del auto cuando tomo los checkbox al parece siempre me sigue tomando esa propiedad checked.
Codigo:
AQUI EL FORMULARIO:
Código PHP:
$consulta=mysql_query("SELECT * FROM Caracteristicas");
$existente=mysql_query('Select idCaracteristica from Vehiculos_Caracteristicas where Vehiculos_Caracteristicas.idVehiculo='.$mi_array['idVehiculo'].'');
while($reg=mysql_fetch_array($consulta)){
$ok=true;
$existente=mysql_query('Select idCaracteristica from Vehiculos_Caracteristicas where Vehiculos_Caracteristicas.idVehiculo='.$mi_array['idVehiculo'].'');
while($existe=mysql_fetch_array($existente)){
if ($reg[0]==$existe['idCaracteristica']){
echo '<input type="checkbox" checked="1" name="carac[]" value="'.$reg[0].'">'.$reg[1].'</br>';
$ok=false;
}
}
if ($ok){echo'<input type="checkbox" name="carac[]" value="'.$reg[0].'">'.$reg[1].'</br>';
}
}
Código PHP:
if(isset($_POST['carac'])){
foreach($_POST['carac'] as $value){
if ($value==true){
if ($value==5){ echo'aca entro por nacional verdadero';}
$ok=true;
$yata=true;
$existente=mysql_query('Select idCaracteristica from Vehiculos_Caracteristicas where Vehiculos_Caracteristicas.idVehiculo='.$idveh.'');
while(($existe=mysql_fetch_row($existente)) and ($yata)){
if ($value==$existe[0]){
$yata=false;
$ok=true;
}
else{
$ok=false;
}
}
if (!($ok)){
@mysql_query("Insert Into Vehiculos_Caracteristicas (`idVehiculoCaractesristica`,`idVehiculo`,`idCaracteristica`) values (null,'".$idveh."','".$value."')");
}
}
else{
$existente=mysql_query('Select idCaracteristica from Vehiculos_Caracteristicas where Vehiculos_Caracteristicas.idVehiculo='.$idveh.'');
while($existe=mysql_fetch_row($existente)){
if ($value==$existe[0]){
@mysql_query('DELETE from Vehiculos_Caracteristicas where idVehiculo='.$idveh.' and idCaracteristica='.$value.'');
}
}
}
}
}