Foros del Web » Programando para Internet » PHP »

Checkbox y Base de datos

Estas en el tema de Checkbox y Base de datos en el foro de PHP en Foros del Web. Hola!! Tengo una pequeña duda sobre insertar datos en la Base de datos a través de un Checkbox. Por ejemplo tengo los siguientes Checkbox: Código ...
  #1 (permalink)  
Antiguo 09/11/2007, 11:22
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Checkbox y Base de datos

Hola!!

Tengo una pequeña duda sobre insertar datos en la Base de datos a través de un Checkbox.
Por ejemplo tengo los siguientes Checkbox:

Código PHP:
<input type="checkbox" name="opcion" id="opcion1" value="guionista" /><label for="actividad1">Guionista</label>
<
input type="checkbox" name="opcion" id="opcion2" value="dibujante" /><label for="actividad2">Dibujante</label>
<
input type="checkbox" name="opcion" id="opcion3" value="colorista" /><label for="actividad3">Colorista</label>
<
input type="checkbox" name="opcion" id="opcion4" value="editor" /><label for="actividad4">Editor</label>
<
input type="checkbox" name="opcion" id="opcion5" value="periodista" /><label for="actividad5">Periodista Especializado</label
Cuando quiero insertarlo en la BD lo hago a traves de un query:
Código PHP:
mysql_query("INSERT INTO campo (opcion) VALUES ('".$_POST['opcion']."'"); 
La duda es la siguiente, quiero que me inserte en el campo "opción" (en la BD) mas de un checkbox, porque lo que logro con lo que puse anteriormente es que me inserte solamente uno, y yo quiero que inserte mas de uno.

Espero haberme explicado correctamente, cualquier cosa pregunten.
Muchísimas gracias.

Un saludo
Nicolás
  #2 (permalink)  
Antiguo 09/11/2007, 11:25
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 6 meses
Puntos: 49
Re: Checkbox y Base de datos

pues te creas otro campo en la tabla es eso?
o quieres almacenar tod en un solo campo.... :/
pues si te creas otro campo en la tabla ya es solo cosa de cambiar los nombres a los check
por
name="option1"
name="option2"
name="option3"
y luego los buscas como lo haces y los insertas en tus campos correspondientes :D

edito : algo como

Código PHP:
mysql_query("INSERT INTO tabla campo1, campo2, campo_etc VALUES ("'$_POST['campo1']''$_POST['campo2']''$_POST['campo_etc']'"); 
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 09/11/2007, 11:33
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Checkbox y Base de datos

Quiero almacenarlo todo en un mismo campo.
Ya que son bastantes checkbox como para ponerme a crear un campo para cada opcion
  #4 (permalink)  
Antiguo 09/11/2007, 11:56
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 6 meses
Puntos: 49
Re: Checkbox y Base de datos

entonces la idea seria... mejor vamos al codigo por que explicando :P

creas tus chek todos con diferentes nombres para poder diferenciarlos
<input type="checkbox" name="opcion1" id="opcion1" value="periodista1" />
<input type="checkbox" name="opcion2" id="opcion2" value="periodista2" />
<input type="checkbox" name="opcion3" id="opcion3" value="periodista3" />
<input type="checkbox" name="opcion4" id="opcion4" value="periodista4" />


cuando recibes lo guardas en una variable

$opcion = "$_POST[opcion1]-$_POST[opcion2]-$_POST[opcion3]-$_POST[opcion4]";

y luego metes $opcion a base de datos
si te fijas puse - para separar a cada opcion despues con un str_replace puedes separarlos :)

espero te sirva...
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #5 (permalink)  
Antiguo 09/11/2007, 12:46
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 1 mes
Puntos: 17
Re: Checkbox y Base de datos

Mejor aún...

Código PHP:
<?php
if (!isset($_POST['opcion']) || !is_array($_POST['opcion'])) $_POST['opcion'] = array();
mysql_query("INSERT INTO campo (opcion) VALUES ('".implode(',',$_POST['opcion'])."'");  

?>
<input type="checkbox" name="opcion[]" id="opcion1" value="guionista" /><label for="actividad1">Guionista</label>
<input type="checkbox" name="opcion[]" id="opcion2" value="dibujante" /><label for="actividad2">Dibujante</label>
<input type="checkbox" name="opcion[]" id="opcion3" value="colorista" /><label for="actividad3">Colorista</label>
<input type="checkbox" name="opcion[]" id="opcion4" value="editor" /><label for="actividad4">Editor</label>
<input type="checkbox" name="opcion[]" id="opcion5" value="periodista" /><label for="actividad5">Periodista Especializado</label>
  #6 (permalink)  
Antiguo 09/11/2007, 13:20
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Checkbox y Base de datos

Joya, gracias a los dos, ya lo pude resolver =).

Otra consultilla mas.
Como hago para que en el momento que se esta subiendo una imagen al servidor, solo quiero que las extenciones sean .jpg. y gif, y no es ninguna de esas que tire un mensaje de error.

Un saludo
Nicolas
  #7 (permalink)  
Antiguo 09/11/2007, 13:38
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 8 meses
Puntos: 21
Pregunta Re: Checkbox y Base de datos

solo un comentario cuando insertes mas de un datos distinto en un solo campo procura usar un caracter de separaccion para que cuando consultes

puedas desglosar el contenido de ese campo osea algo asi

dato1-datos2-datos3-etc

saludos
espero sus comentarios
__________________
gerardo
  #8 (permalink)  
Antiguo 09/11/2007, 13:39
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 8 meses
Puntos: 21
Re: Checkbox y Base de datos

Cita:
Iniciado por Nicop Ver Mensaje
Joya, gracias a los dos, ya lo pude resolver =).

Otra consultilla mas.
Como hago para que en el momento que se esta subiendo una imagen al servidor, solo quiero que las extenciones sean .jpg. y gif, y no es ninguna de esas que tire un mensaje de error.

Un saludo
Nicolas
podrias usar javascrip para que la validacion actue del lado del clientes pero tambien puedes usar php o incluso ajax

saludos
__________________
gerardo
  #9 (permalink)  
Antiguo 09/11/2007, 13:42
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Checkbox y Base de datos

Preferiria hacerlo con PHP, tenes algun codigillo por ahi?
  #10 (permalink)  
Antiguo 09/11/2007, 13:47
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 8 meses
Puntos: 21
Re: Checkbox y Base de datos

mmm puedes usar ese comando

http://www.webtaller.com/construccio...ize_en_php.php

saludos
__________________
gerardo
  #11 (permalink)  
Antiguo 09/11/2007, 13:49
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 8 meses
Puntos: 21
Sonrisa Re: Checkbox y Base de datos

aqui con javascript por si lo quieres checar

http://www.desarrolloweb.com/articul...avascript.html

saludos
__________________
gerardo
  #12 (permalink)  
Antiguo 09/11/2007, 14:00
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Checkbox y Base de datos

ok, ahora lo pruebo y te digo como me fue ;)
  #13 (permalink)  
Antiguo 09/11/2007, 14:22
 
Fecha de Ingreso: julio-2004
Mensajes: 51
Antigüedad: 19 años, 8 meses
Puntos: 0
Re: Checkbox y Base de datos

Bue, soy tan inutil que no pude de ninguna de las dos formas xD
Alguna mano amigo?

Un saludo y gracias!
  #14 (permalink)  
Antiguo 10/11/2007, 12:09
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 6 meses
Puntos: 49
Re: Checkbox y Base de datos

Código:
<form action="subir.php" method="post" enctype="multipart/form-data">
<input type="file" name="archivo">
<p><input type="submit" value="Subir">
</form>
Código PHP:
<?
if(isset($_FILES['archivo'])){
 
    
$tamaño $_FILES['archivo']['size'];
    
$tipo $_FILES['archivo']['type'];
    if (!((
strpos($tipo"gif") || strpos($tipo"png") || strpos($tipo"jpeg")) && ($tamaño 64000))) {
        echo 
'El archivo no cumple con las caracterizticas requeridas'
    }else{

        
/* Guardar el archivo */
        
$destino=$_FILES['archivo']['name'];
        if(
move_uploaded_file($_FILES['archivo']['tmp_name'],$destino)){
            echo 
'<br> El archivo '.$_FILES['archivo']['name']. ' ha sido guardao con exito!';
        }else{
            echo 
'<br> Error al guardar el archivo!!!';
        }

    }
}
?>
__________________
Gokuh Salvo al mundo. PUNTO!!!!
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 14:47.