Foros del Web » Programando para Internet » PHP »

Checkbox

Estas en el tema de Checkbox en el foro de PHP en Foros del Web. Hola a todos, tengo un formulario que esta compuesto por 20 checkbox, si estan marcados quiere decir que en la base de datos tiene que ...
  #1 (permalink)  
Antiguo 29/07/2009, 09:18
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años
Puntos: 0
Checkbox

Hola a todos,

tengo un formulario que esta compuesto por 20 checkbox, si estan marcados quiere decir que en la base de datos tiene que escribirse 1 en el campo del checkbox y si no tiene que escribirse 0.

Lo que quiero hacer es un archivo php al cual se envie toda la información de los checkbox y que haga el adecuado UPDATE.

Para ello en este archivo php quiero poner un if por cada checkbox, pero no se como preguntar si el checkbox esta checked.

hasta ahora estaba haciendo lo siguiente:
if($_GET['D1'] == on)
{
$query = "UPDATE ...
}

Un saludo
  #2 (permalink)  
Antiguo 29/07/2009, 09:26
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Checkbox

Debes ver cual es el value del checkbox si esta checkeado significa que se envia el value si no no se envia.
Prueba primero haciendo esto:
Código PHP:
echo $_GET[D1]; 
Mira que pasa cuando lo envias sin check y con check.

Una vez tengas eso claro despues puedes hacer algo como esto:
Código PHP:
$a 0;
$query "UPDATE table SET ";
if(isset(
$_GET['D1'])){ $query .= "check1 = 1"$a++; }
if(isset(
$_GET['D2'])){ $query .= "check2 = 1"$a++; }
if(
$a 0){
    
//haces la consulta porque si hay checks presionados
}else{
    
//no haces nada porque no hay checks presionados

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 30/07/2009, 10:35
thi
 
Fecha de Ingreso: abril-2009
Mensajes: 244
Antigüedad: 15 años
Puntos: 0
Respuesta: Checkbox

Gracias por tu respuesta Marvin,

me ha servido de ayuda, pero ahora tengo otro problema parecido.

Lo pongo aqui porque es parecido, tambien es con checkbox, resulta que tengo un ventana con un número indeterminado de checkbox que se obtienen de una base de datos y a su vez se lee en otra tabla si el pais lo tiene el usuario que abrio la sesisón y todo esto se ponen en un formulario con el siguiente codigo:

print "<th><input type='checkbox' checked name='EU'".$cont." value='".$des2{'pais'}."'><b><font color='ff0000'>".$des2{'pais'}."</font></b></th>";

El codigo continuaría con una instrucción igual pero sin el checked para cuando el país no lo tiene el usuario. Esto lo hace perfectamente y si en la base de datos añado o quito paises me los muestra y si en la base de datos añado o quito paises al usuario tambien aparecen o no aparecen marcados.

Pero como hago para que el usuario pueda marcar y desmarcar los checkbox de forma que automaticamente al pulsar el botón "Guardar" estos cambios se añadan o borren de la tabla de usuarios.

Un saludo.
  #4 (permalink)  
Antiguo 30/07/2009, 18:28
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: Checkbox

Mira... en vez de hacer ese checkbox hazlo asi:
Código PHP:
print "<th><input type='checkbox' checked name='EU[".$cont."]' value='".$des2{'pais'}."'><b><font color='ff0000'>".$des2{'pais'}."</font></b></th>"
Y luego mira lo que pasa al hacer esto en la pagina que recibe los datos:
Código PHP:
foreach($_POST['EU'] as $var){  
    echo 
'<br>'.$var;

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
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 19:34.