Foros del Web » Programando para Internet » PHP »

grabar checkbox en bd y recuperar checkeados

Estas en el tema de grabar checkbox en bd y recuperar checkeados en el foro de PHP en Foros del Web. tengo un formulario de insercion de registros en bd que utiliza checkbox es para saber si posee o no elementos si el checkbox esta marcado ...
  #1 (permalink)  
Antiguo 23/11/2006, 20:42
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 10 meses
Puntos: 1
grabar checkbox en bd y recuperar checkeados

tengo un formulario de insercion de registros en bd que utiliza checkbox es para saber si posee o no elementos si el checkbox esta marcado me guardaria si en la bd caso contrario me guarda no

formulario
Código HTML:
posee.................checkbox       

cocina..................O
cochera................O
piscina..................O
]
los circulitos serian los check box

y luego en otra pagina necesito recuperar los valores si/no

por ejemplo

cocina:si
cochera:no
piscina:si

como es el codigo php para guardar y luego recuerar esos valores check box?
y el campo en la bd de que tipo seria enum.. varchar??
__________________
Marcelo Acampora
mi pagina web personal
www.destinitytravel.com
  #2 (permalink)  
Antiguo 24/11/2006, 01:14
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 8 meses
Puntos: 62
;)

ejemplo, guardas los valores como 0 y 1 en la BD, luego al cogerlo con php:

si es 0 que te lo muestre no chekeado si es un 1 que te lo muestre chekeado.

Hay 1000 maneras de hacerlo.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 24/11/2006, 01:39
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 8 meses
Puntos: 25
Código PHP:
$ver = mysql_query("SELECT campo FROM tabla");
mysql_select_db("base");
$row = mysql_fetch_array($ver);

if($row[0]=="si"){
 $checado="1";
}else{
 $checado="no";
}

<input type="checkbox" value="algo" <? if($checado=="1"){ echo "checked='checked'"; } else { echo ""; }?>>
No sé si es lo que buscas, pruebalo. Saludos
__________________
Hospedaje Web al mejor costo!

Última edición por urgido; 24/11/2006 a las 10:44
  #4 (permalink)  
Antiguo 24/11/2006, 08:51
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 10 meses
Puntos: 1
gracias por la respuesta..

pero creo que no me explique bien a ver

como seria el codigo que debo poner en el form html para que me guarde en la bd SI si esta checkeado o NO si no lo esta?

Código HTML:
<input type="checkbox" value="?" name="?"> 
y al recoger los valores de la BD me quede algo como esto=

cocina = SI
cochera = NO
piscina = SI

los campos en mysql (ejemplo)

campo:...............valor guardado

cocina..............si
cochera............no
piscina.............si

de que tipo serian los campos ? varchar,enum?
__________________
Marcelo Acampora
mi pagina web personal
www.destinitytravel.com
  #5 (permalink)  
Antiguo 24/11/2006, 10:19
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 21 años
Puntos: 4
Pues no entendí muy bien pero hize un ejemplo:
Código PHP:
<?php
if ( isset( $_POST['submit'] ) )
{
   
// damos nombres de variables cortos
   
$cocina $_POST['cocina'];
   
$cochera $_POST['cochera'];
   
$piscina $_POST['piscina'];

   
// hacemos unos condicionales; si la variable fue clickeada la variable contendrá el valor "SI" de lo contrario el valor será "NO"
   
$cocina == 'on' $cocina 'SI' $cocina 'NO';
   
$cochera == 'on' $cochera 'SI' $cochera 'NO';
   
$piscina == 'on' $piscina 'SI' $piscina 'NO';

   
// mostramos en pantalla el resultado
   
echo "Cocina: ".$cocina."<br/>Cochera: ".$cochera."<br/>Piscina: ".$piscina;
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Cocina:<input type="checkbox" name="cocina"><br/>
Cochera:<input type="checkbox" name="cochera"><br/>
Piscina:<input type="checkbox" name="piscina"><br/>
<input type="submit" name="submit" value="Enviar">
</form>
Este ejemplo lo que hace es asignarle a las variables un valor dependiendo de si se hizo click en el checkbox o no y se muestra en pantalla el resultado. Yo lo mostre en pantalla pero tu puedes hacer con las variables lo que se te antoje, como por ejemplo insertar los resultados en una bd utilizando la clausula INSERT de mysql. Espero haberme dado a entender y que esto te sirva por lo menos para darte una idea. Suerte
  #6 (permalink)  
Antiguo 24/11/2006, 20:00
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 10 meses
Puntos: 1
los valores de los checkbox quiero guardarlos mediante un INSERT INTO en una base de datos mysql

tabla:datos

nombres de campos:
cocina
cochera
piscina

estos valores deben guardarse si esta chekeado si si no esta chekeado NO

que me quede algo como esto en la bd (ejemplo)


cocina: si
cochera:no
piscina:si

como es el input type para guardar el checkbox y de que tipo es el campo en la BD me refiero si es varchar,enum, etc?????


luego mediante un SELECT debo seleccionar esos valores guardados en la BD
para que en otra pagina recoja esos datos y que me quede

Código PHP:
cocina:si
cochera
:no
piscina
:si 
no se creo que funcionaria esto ultimo con el codigo de ERICKFRANCISCO

Código PHP:
<?php 
if ( isset( $_POST['submit'] ) ) 

   
// damos nombres de variables cortos 
   
$cocina $_POST['cocina']; 
   
$cochera $_POST['cochera']; 
   
$piscina $_POST['piscina']; 

   
// hacemos unos condicionales; si la variable fue clickeada la variable contendrá el valor "SI" de lo contrario el valor será "NO" 
   
$cocina == 'on' $cocina 'SI' $cocina 'NO'
   
$cochera == 'on' $cochera 'SI' $cochera 'NO'
   
$piscina == 'on' $piscina 'SI' $piscina 'NO'

   
// mostramos en pantalla el resultado 
   
echo "Cocina: ".$cocina."<br/>Cochera: ".$cochera."<br/>Piscina: ".$piscina

?>
__________________
Marcelo Acampora
mi pagina web personal
www.destinitytravel.com
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 21:28.