Foros del Web » Programando para Internet » PHP »

insertar multiples datos a una BD mediante checkbox

Estas en el tema de insertar multiples datos a una BD mediante checkbox en el foro de PHP en Foros del Web. tengo este codigo en html. Código HTML: <form method= "post" action= "09.php" > <input type= "checkbox" name= "elec[]" value= "eq_sonido" /> Equipo de Sonido <br ...
  #1 (permalink)  
Antiguo 03/02/2009, 09:44
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años
Puntos: 3
insertar multiples datos a una BD mediante checkbox

tengo este codigo en html.

Código HTML:
<form method="post" action="09.php">
<input type="checkbox" name="elec[]" value="eq_sonido" />Equipo de Sonido<br />
<input type="checkbox" name="elec[]" value="microondas" />Microondas<br />
<input type="checkbox" name="elec[]" value="aspiradora" />Aspiradora<br />
<input type="submit" value="submit" name="submit">
</form> 
que me manda aca:

Código PHP:
<?
//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
$link mysql_connect("localhost","root","zxy") or die ("Error: No se ha podido establecer la conexión con maquina local" mysql_error());
mysql_select_db("encuesta",$link) or die ("Error: No se ha podido seleccionar la BBDD de la maquina local" mysql_error());

$elec_array $_POST['elec'];

foreach (
$elec_array as $one_elec
{
$source .= $one_elec.", ";
}

$elec substr($source0, -2);

$query "INSERT INTO productos (elec) VALUES( '$elec')";
$result mysql_query($query);

?>
lo que pasa es que no puedo insertar los datos de los checkbox, ni cuando estan todos elegidos, ni cuando estan solo algunos, ni cuando no hay ninguno seleccionado (osea que me inserte o null o vacio).

si me pudieran ayudar se los agradeceria mucho, o que me pudieran guiar si hubiera un metodo mejor.

saludos
  #2 (permalink)  
Antiguo 03/02/2009, 09:56
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: insertar multiples datos a una BD mediante checkbox

Haz un implode(), es mejor para lo que tu deseas. Pero asegurate que el array contiene 2 o mas checkbox seleccionados, con count().

Si aun asi no inserta nada, prueba agregando or die(mysql_error()); despues de mysql_query.
  #3 (permalink)  
Antiguo 03/02/2009, 10:04
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años
Puntos: 3
creo que el mayor problema es cuando no se selecciona ningun checkbox porque me sale un error.

bueno resolvi el problema de que ingrese un dato vacio, si no seleccionas ningun checkbox, solo insertando un if:

Código PHP:
<?
//AQUI CONEXION O include() DE ARCHIVO DE CONEXION CON BASE DE DATOS.
$link mysql_connect("localhost","root","zxy") or die ("Error: No se ha podido establecer la conexión con maquina local" mysql_error());
mysql_select_db("encuesta",$link) or die ("Error: No se ha podido seleccionar la BBDD de la maquina local" mysql_error());

$elec_array $_POST['elec'];

if (
$elec_array=='')
{
    
$query "INSERT INTO productos (elec) VALUES('')";
    
$result mysql_query($query);
}

else
{
    foreach (
$elec_array as $one_elec
    {
    
$source .= $one_elec.", ";
    }
    
    
$elec substr($source0, -2);
    
    echo 
$elec;
    
    
$query "INSERT INTO productos (elec) VALUES('$elec')";
    
$result mysql_query($query);
}
?>
pero no estoy del todo convencido si es mejor meter los datos seleccionados todos separados por una coma (,) o si es mejor insertarlos fila por fila o cual seria una mejor forma para luego hacer reportes de esos datos.

Última edición por GatorV; 03/02/2009 a las 11:47
  #4 (permalink)  
Antiguo 03/02/2009, 11:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: insertar multiples datos a una BD mediante checkbox

Hola gokufast,

Todo depende de como necesites tratar esos datos, si no los procesas mucho pues dejalos separados por comas, pero si esperas hacer selecciones y estadisticas en base a esos datos creo lo mejor es que los separes uno por uno en las filas.

Saludos
  #5 (permalink)  
Antiguo 03/02/2009, 13:01
Avatar de gokufast  
Fecha de Ingreso: abril-2007
Mensajes: 540
Antigüedad: 17 años
Puntos: 3
Respuesta: insertar multiples datos a una BD mediante checkbox

ok gracias por las sugerencias.
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 21:29.