Foros del Web » Programando para Internet » PHP »

CheckBox, mysql y php

Estas en el tema de CheckBox, mysql y php en el foro de PHP en Foros del Web. Hola gente, ahi tengo un problemita, la cosa es que tengo un listado de checkbox que se forman meidnate una consulta, la cosa es que ...
  #1 (permalink)  
Antiguo 07/10/2011, 12:05
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Pregunta CheckBox, mysql y php

Hola gente, ahi tengo un problemita, la cosa es que tengo un listado de checkbox que se forman meidnate una consulta, la cosa es que en dependencia que si los checkbox estan marcados guardo los cambion en la BD, todo funciona cuando estan desmarcados y al marcarlos todo funciona, pero si por error marco uno que no deseo y trato de desmarcarlo y guardar ese cambio en la base BD no me funciona, o sea funciona cuando marco pero no cuando los desmarcos aqui les dejo un pedaso de codigo

Código PHP:
<?php  
                
for ($i=0;$i<$arr_sql;$i++)             
                { 
                    
$row mysql_fetch_array($_pagi_result);
            
?>
<input type="checkbox" name="finish[]" value="<?php echo $row['id'].?><?php if($row['status']==1){ echo" checked='on' ";} ?>  />
                        
 <?php
                    
        
}
         foreach (
$_REQUEST['finish'] as $f
        {
 
             
guardo en la base de datos
        
}

  
?>
pero como hago cuando tengo los checkbox marcados y los quiero desmarcar y ca,biar esos cambios en la base de datos???

Gracias de ante mano
  #2 (permalink)  
Antiguo 07/10/2011, 19:10
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: CheckBox, mysql y php

Normalmente cuando no marcas un checkbox, no se envia, es decir, solo recibes los que estan marcados, por lo que tu ciclo no deberia estar basado en esos campos, sino en un indice o contador por separado.

Suponiendo que cargaste todas las ID's en un array
Código PHP:
Ver original
  1. foreach($ids as $index => $id) {
  2.     if(isset($_POST['finish][$index])) {
  3.          // Checkbox checked
  4.    } else {
  5.          // Checkbox not checked
  6.    }
  7. }
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 07/10/2011, 21:09
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: CheckBox, mysql y php

Gracias, tienes razon, pero no logro ahora obtener el valor, la cosa es que si los marco cambio el status en la bd a 1 pero si estan marcados y los desmarco pongo el status en la bd a 0 para obtener el valor cuando los marco los obtengo pero cuando desmarco no obtengo cual fue el que desmarque :(

Gracias
  #4 (permalink)  
Antiguo 07/10/2011, 21:20
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: CheckBox, mysql y php

Asignacion ternaria:

Código PHP:
Ver original
  1. $marcado = (isset($_POST['finish'][$index])) ? true : false;
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 07/10/2011, 21:43
 
Fecha de Ingreso: octubre-2011
Ubicación: USA
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 19
Respuesta: CheckBox, mysql y php

Puse los indices en un arreglo como sugieres y todo perfecto muchas gracias

Etiquetas: checkbox, mysql, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:16.