Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/06/2011, 19:22
Avatar de peketin
peketin
 
Fecha de Ingreso: junio-2011
Ubicación: La Plata, Buenos Aires, Argentina
Mensajes: 4
Antigüedad: 12 años, 10 meses
Puntos: 0
Problema con checkbox y su prop Checked

Hola que tal a todos....Les cuento que estoy haciendo una web de tarea para la facultad y tengo el siguiente problema:

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>';
    }

ACA COMPRUEBO
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.'');
                    }
                }
            }
        }
    }