Foros del Web » Programando para Internet » PHP »

insertar un checkbox en una base de datos

Estas en el tema de insertar un checkbox en una base de datos en el foro de PHP en Foros del Web. mi problema es el siguiente necesito guardar el contenido de un checkbox cuando este chekeado si no esta chekeado que no guarde nada utiliza php ...
  #1 (permalink)  
Antiguo 29/05/2009, 12:47
 
Fecha de Ingreso: mayo-2009
Mensajes: 1
Antigüedad: 15 años
Puntos: 0
insertar un checkbox en una base de datos

mi problema es el siguiente
necesito guardar el contenido de un checkbox cuando este chekeado si no esta chekeado que no guarde nada utiliza php y Mysql y no e podido quien me pueda ayudar le agradesco mucho adjunto el codigo para que lo revisen

<?php

if ($rt.checked==true):
$v="checado"
$conexion = mysql_connect ("localhost","root","")
or die ("No se puede conectar con el servidor");
mysql_select_db ("c")
or die ("No se puedo seleccionar la base de datos");

$instruccion ="insert into c
(c)

values ('$v')";

$consulta = mysql_query ($instruccion, $conexion)
or die ("Fallo en la consulta");
mysql_close ($conexion);

if ($rt.unchecked==false):

echo "no se agrego nada";


endif;

?>
  #2 (permalink)  
Antiguo 29/05/2009, 13:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: insertar un checkbox en una base de datos

El concepto de que este checked o no es de javascript. Para php solamente pasa el valor si esta seleccionaro y si no esta seleccionado no pasa absolutamente nada al PHP

Ejemplo

<input type="checkbox" name="CHK" value="aqui va el mensaje">

Vamos a suponer que se selecciono

cuando vamos al php
solamente tenemos que asegurarnos de que haya un valor con la variable CHK.

Si el form tiene el metodo de GET pues lo verificamos asi

if(empty($_GET["CHK"])){
echo "checkbox no esta seleccionado";
}else{
//crear el query aqui para añadirlo a la base de datos
}

Si no esta seleccionado envia nada al PHP y por lo tanto el if es el que se ejecuta si fuera seleccionado se ejecuta el else

Me dejas saber
  #3 (permalink)  
Antiguo 12/06/2009, 13:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 5
Antigüedad: 15 años
Puntos: 0
Respuesta: insertar un checkbox en una base de datos

Cita:
Iniciado por francisco_1 Ver Mensaje
mi problema es el siguiente
necesito guardar el contenido de un checkbox cuando este chekeado si no esta chekeado que no guarde nada utiliza php y Mysql y no e podido quien me pueda ayudar le agradesco mucho adjunto el codigo para que lo revisen

<?php

if ($rt.checked==true):
$v="checado"
$conexion = mysql_connect ("localhost","root","")
or die ("No se puede conectar con el servidor");
mysql_select_db ("c")
or die ("No se puedo seleccionar la base de datos");

$instruccion ="insert into c
(c)

values ('$v')";

$consulta = mysql_query ($instruccion, $conexion)
or die ("Fallo en la consulta");
mysql_close ($conexion);

if ($rt.unchecked==false):

echo "no se agrego nada";


endif;

?>

Estimado necesito insertar informacion por un check, estoy usando dinamicamente y no me sale
  #4 (permalink)  
Antiguo 16/08/2009, 23:54
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: insertar un checkbox en una base de datos

hola yo tambien tengo el mismo problema ,mis chek tienen que ser generados dependiendo de una lista extraida de la bdd,luego tengo que selecionar y registrar lo seleccionado...como se debe hacer alguien tiene una idea''¿

saludos...
  #5 (permalink)  
Antiguo 16/08/2009, 23:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: insertar un checkbox en una base de datos

¿Ya tienes hecho algo? Si es así postealo para que te podamos ayudar.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 17/08/2009, 00:44
Avatar de gjx2  
Fecha de Ingreso: agosto-2008
Ubicación: R.D
Mensajes: 1.153
Antigüedad: 15 años, 8 meses
Puntos: 139
Respuesta: insertar un checkbox en una base de datos

Saludos .
Espero que les sirva.

Código PHP:
Ver original
  1. <form name="Formulario" action="<?=$_SERVER['PHP_SELF']?>" method="post">
  2. <?php for ( $a=0;$a<10;$a++ ):$word = "Check_".$a;?>
  3. <div><?=$word?><input type="checkbox" name="check[<?=$a?>]" id="check_<?=$a?>"></div>
  4. <?php endfor; ?>
  5. <input type="hidden" name="Num" value="<?=$a?>"
  6. <input type="submit" name="Btn" value="Enviar">
  7. </form>
  8.  
  9. <?php
  10. if(isset($_POST['Btn'])){
  11. for($a=0;$a<$_POST['Num'];$a++){
  12. if( !empty($_POST['check'][$a])){
  13. echo $a."<br>";
  14. }
  15. }
  16. }
  17. ?>
  #7 (permalink)  
Antiguo 17/08/2009, 06:50
 
Fecha de Ingreso: agosto-2009
Mensajes: 2
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: insertar un checkbox en una base de datos

Buenas, por lo que he estado viendo, en la linea
Código PHP:
<div><?=$word?><input type="checkbox" name="check[<?=$a?>]" id="check_<?=$a?>"></div>
te falta un campo value=<?$a?>
Si no tienes ese valor malo
mi recomendación es que cambies la linea así:
Código PHP:
<? echo ("<div>".$word."<input type='checkbox' name='check[".$a."]' id='check_".$a."' value='".$a."'></div>");?>
Por otro lado creo que quieres que los diferentes valores sean un array, pero por method post no podrás
o sea, name=check[$a] no genera un array de nombre check
yo de ti lo dejaba así:
Código PHP:
<? echo ("<div>".$word."<input type='checkbox' name='check_".$a."' id='check_".$a."' value='".$a."'></div>");?>
Cuando necesites extraer los datos,

Código PHP:
<?php
if(isset($_POST['Btn'])){
for(
$a=0;$a<$_POST["Num"];$a++){
if( !empty(
$_POST["check_".$a)){
$valor "check_".$a;
echo (
$_POST["$valor"]."<br>");
}
}
}
?>
Creo que debería funcionar así
Pruébalo y dime que tal

Un saludo
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 03:43.