Insertando datos en la base de datos usando campos de texto y checkbox
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
- $aDatos=array(1=>"Primero",2=>"Segundo",3=>"Tercero");
- foreach($aDatos as $id=>$nombre) {
- echo "<input type='checkbox' name='seleccion[]' value='$id' />$nombre <br />";
- }
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
- $id_persona=1; // para este ejemplo, la persona a la cual le serán asignados los valores de "seleccion"
- foreach($_POST['seleccion'] as $seleccion) {
- $db->execute("INSERT INTO persona_seleccion (id_persona,id_item) VALUES (?,?)",array($id_persona,$seleccion));
- }
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.
| Adjunto | Tamaño |
|---|---|
| insercion_php.tgz | 1.19 KB |
- 13703 lecturas

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!
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
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
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
Recuerda que debes descargar adodb y poner el directorio "adodb" donde está tu archivo .php.
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 :)
Excelente artículo (chiquiti, sencillo pero presciso) jejeje. Lo he agregado a mi sabrosus.
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
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!
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
ME ACABA DE SALVAR.... DE VERDAD GRACIAS POR EL APORTE QUE HA HECHO, NO SABIA COMO SALIR DE ESTE EMBROLLO.
GRACIAS.
ATTE: HAROLD
Hoola...muchas gracias, lo voy a checar pero precisamente es lo que buscaba. Excelente blog.
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
Enviar un comentario nuevo