Insertando datos en la base de datos usando campos de texto y checkbox

Clasificado en:

A petición de algunos interesados, pongo a disposición un pequeño ejemplo de como ingresar datos a una base de datos con PHP, utilizando campos de texto y checkbox.

Para usar los cuadros de verificación, no hay mayor secreto. Lo que se debe hacer es crear una secuencia como la que sigue

  1.  <?php
  2.  $aDatos=array(1=>"Primero",2=>"Segundo",3=>"Tercero");
  3.  foreach($aDatos as $id=>$nombre) {
  4.  echo "<input type='checkbox' name='seleccion[]' value='$id' />$nombre <br />";
  5.  }
  6.  ?>

Como se darán cuenta, la idea es crear un array (en este caso llamado seleccion), que tendrá en su interior los valores de los casilleros seleccionados.

Si envíamos el formulario por POST, recibiriamos los valores de la selección en $_POST['seleccion']. Para navegar los valores, bastaría hacer un ciclo por cada uno de ellos y realizar la inserción correspondiente

  1.  <?php
  2.  $id_persona=1; // para este ejemplo, la persona a la cual le serán asignados los valores de "seleccion"
  3.  foreach($_POST['seleccion'] as $seleccion) {
  4.  $db->execute("INSERT INTO persona_seleccion (id_persona,id_item) VALUES (?,?)",array($id_persona,$seleccion));
  5.  }
  6.  ?>

Eso sería todo. El ejemplo que presento es un tanto distinto a este, pero tiene la misma lógica. Cualquier duda, en los comentarios.

AdjuntoTamaño
insercion_php.tgz1.19 KB
Imagen de Perejilillo desconocido

Hola Que Tal... Necesito Ayuda
Es Erika Tengo este codigo

Siglas de la Emisora
<?php
$consulta= "SELECT codp FROM programas ";
$resultado= mysql_query($consulta,$enlace);
mysql_error($enlace);

if (mysql_num_rows($resultado)>0){
$cont=0;
while (list($codp)= mysql_fetch_row($resultado)){

echo "";

echo "";
print("$codp"); echo "";
$cont=$cont+1;

}//while
}//if
$c=$cont;
echo "";
print(" ");
?>

Como hago para que los checkbox que se muestren al checar uno y dar click en guardar se guarde eln la base de datos!

Porfa responder a mi email erika16lozada@hotmail
Gracias Es urgente!

Enviado por Perejilillo desconocido el Mié, 18/07/2007 - 14:33.
icono de usuario

Hola

En la pagina de webestilo, encontre sus correos. Espero me puedan ayudar con una pagina

Cree una coneccion conex.php

<?php
$dbh=mysql_connect ("localhost", "gecycom_dixon", "camilo") or die ('I cannot connect to the database because: ' . mysql_error());
mysql_select_db ("gecycom_basedatos");
?>

Un archivo procesar.php

<?php
include("conex.php");
$link=Conectarse();
$OT=$_GET['OT'];
$Contrato=$_GET['Contrato'];
$NombreObra=$_GET['NombreObra'];
$Direccion=$_GET['Direccion'];
$FInicio=$_GET['FInicio'];
$FFin=$_GET['FFin'];
$PAlam=$_GET['PAlam'];
$PProg=$_GET['PProg'];
$PInal=$_GET['PInal'];
$Tecnico=$_GET['Tecnico'];
$Ayudante=$_GET['Ayudante'];
$PagoTecnico=$_GET['PagoTecnico'];
$PagoColsecurity=$_GET['PagoColsecurity'];
$Factura=$_GET['Factura'];
$NDLS=$_GET['NDLS'];
$DLS=$_GET['DLS'];
$FA=$_GET['FA'];
$Comentarios=$_GET['Comentarios'];
$Observaciones=$_GET['Observaciones'];
mysql_query("insert into prueba (OT,Contrato,NombreObra,Direccion,FInicio,FFin,PAlam,PProg,PInal,Tecnico,Ayudante,PagoTecnico,PagoColsecurity,Factura,NDLS,DLS,FA,Comentarios,Observaciones) values ('$OT','$Contrato','$NombreObra','$Direccion','$FInicio','$FFin','$PAlam','$PProg','$PInal','$Tecnico','$Ayudante','$PagoTecnico','$PagoColsecurity','$Factura','$NDLS','$DLS','$FA','$Comentarios','$Observaciones)",$link);

header("Location: ejem07d.php");
?>

una pagina de acceso http://www.gecyc.com/base/ejem07d.php

BASE DE DATOS COLSECURITY

Orden de Trabajo:

Contrato:

 
 
 
 

Nombre de la Obra:

Direccion

Fecha Inicio:

Fecha Fin:

Puntos Alambrados:

Puntos Programados:

Puntos Inalambricos:

Tecnico:

Ayudante:

Pago Tecnico:

Pago Colsecurity:

Factura:

Numero DLS:

DLS:

FA:

Comentarios:

Observaciones:

<?php
include("conex.phtml");
$link=Conectarse();
$result=mysql_query("select * from prueba",$link);
?>

Orden Principal
Contrato Principal
Nombre Obra 
Direccion 
Fecha Inicio 
Fecha Terminacion 
Puntos Alamb 
Puntos Progra 
Puntos Inalam 
Tecnico 
Ayudante 
Pago Tecnico 
Pago Colsecurity
Factura
Numero DLS
DLS
FA
Comentarios
Observaciones 

<?php
while($row = mysql_fetch_array($result)) {
printf(" %s  %s ", $row["OT"], $row["Contrato"], $row["NombreObra"], $row["Direccion"], $row["FInicio"], $row["FFin"], $row["PAlam"], $row["PProg"], $row["PInal"], $row["Tecnico"], $row["Ayudante"], $row["PagoTecnico"], $row["PagoColsecurity"], $row["Factura"], $row["NDLS"], $row["DLS"], $row["FA"], $row["Comentarios"], $row["Observaciones"]);
}
mysql_free_result($result);
mysql_close($link);
?>

Espero me colaboren con el error....

gracias

Enviado por Dixon (no verificado) el Dom, 16/03/2008 - 21:30.
Imagen de Perejilillo desconocido

holas en el ejeemplo que me mostrase m eda errorr en
include("adodb/adodb.inc.php");
$db = &ADONewConnection("mysql");
$db->connect('localhost','test','test','test');

$items=$db->getCol("SELECT id from test_item ORDER BY id");

osea crea la base datos con el nombre de test las 3 tablas y todo ok pero cuando corres nada te agradeceria esta ayuadadita ya que esoty buscando emjemplo de selccion multiple y guardar los mismos en una base datos, bueno no te aburro maas, com ya te lo dije te agradeceria mucho esta ayuaddita

Enviado por Perejilillo desconocido el Jue, 20/09/2007 - 12:13.
icono de usuario

Hola! Oye yo tengo un problema para insertar datos a la base de datos, este es el codigo que estoy utilizando pero no se cual sea el problema y porque no me puede agregar los datos, espero que me puedas ayudar! Gracias

  1.  <?php
  2.  //Conexion con la base
  3.  //mysql_connect("localhost","root");
  4.  
  5.  //selección de la base de datos con la vamos a trabajar
  6.  //mysql_select_db("residencia");
  7.  include('conexion.php');
  8.  //Ejecucion de la sentencia SQL
  9.  mysql_query("INSERT INTO medicamento (grupo, nombre,clave,formula,prioridad , presentacion, contenido,unidad_medida,existencia,nivel ) VALUES ($_POST[clave],$_POST[nombre],$_POST[grupo],$_POST[prioridad],$_POST[formula],$_POST[presentacion],$_POST[unidad_medida],$_POST[nivel],$_POST[existencia],$_POST[contenido])");
  10.  ?>
Enviado por Perejilillo desconocido (no verificado) el Mié, 21/11/2007 - 01:32.
Imagen de clbustos

Recuerda que debes descargar adodb y poner el directorio "adodb" donde está tu archivo .php.

Enviado por clbustos el Jue, 20/09/2007 - 15:38.
icono de usuario

Excelente man, la verdad es que pase casi dos dias quebrandome la cabeza con eso, ahorita tome el camino de los "radio", pero mas adelante necesitare "checkbox" asi que gracias por el articulo :)

Enviado por Stan (no verificado) el Jue, 15/12/2005 - 03:43.
icono de usuario

Excelente artículo (chiquiti, sencillo pero presciso) jejeje. Lo he agregado a mi sabrosus.

Enviado por Victor (no verificado) el Lun, 19/12/2005 - 19:07.
Imagen de clbustos

Me gusta cuando artículos tan chicos como este tienen acogida. Creo que le daré su tiempo al tema de los thumbnails.
Les advierto: incluiré convert como una buena alternativa :P

Enviado por clbustos el Mar, 20/12/2005 - 01:30.
icono de usuario

Das una manera rapida de recoger los datos para el INSERT por medio del array seleccion[ ], tanto en el articulo que leemos como en el ejemplo que se puede descargar.

Pero permiteme hacer un apunte: el modo de insertar los datos en la base de datos es un tanto repetitivo. Quiza no para nosotros, pero ya que el bucle foreach es inevitable en php, por lo menos ahorraselo al gestor de bases de datos. Seria mejor meterlos todos de una vez del siguiente modo:

$valores = "";
foreach ($_POST['seleccion'] as $seleccion) {
$valores .= "($id_persona, $seleccion)";
}


$db->execute("INSERT INTO persona_seleccion (id_persona,id_item) VALUES $valores");

Y de este modo le ahorramos al servidor SQL unas cuantas conexiones, y por lo tanto mejora la eficiencia de nuestro programa.
Saludos!

Enviado por Lejinad (no verificado) el Mié, 02/08/2006 - 17:28.
icono de usuario

hola que tal .. me gustaria poder contactarme contigo por msn.. si puedes agregame para revisar algo sobre el codigo que esta posteado en la pagina..
salu2
maberick27@hotmail.com

Enviado por Perijilillo Desconocido (no verificado) el Mié, 27/09/2006 - 11:31.
icono de usuario

ME ACABA DE SALVAR.... DE VERDAD GRACIAS POR EL APORTE QUE HA HECHO, NO SABIA COMO SALIR DE ESTE EMBROLLO.

GRACIAS.

ATTE: HAROLD

Enviado por Harold Jimenez (no verificado) el Vie, 11/08/2006 - 21:32.
icono de usuario

Hoola...muchas gracias, lo voy a checar pero precisamente es lo que buscaba. Excelente blog.

Enviado por Silver (no verificado) el Lun, 11/09/2006 - 13:19.
icono de usuario

que decir, me parece un sitio genial, y con ayuda muy precisa. Da gusto ver como en las comunidades de software libre prima el ayudarse los unos a los otros.

lo único que le hecho en falta sería explicar en detalle para los mas novatos que hace cada línea. Por lo demás brutal.

Un saludo

oskar

Enviado por oskar (no verificado) el Dom, 21/01/2007 - 06:57.

Enviar un comentario nuevo

El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato