Foros del Web » Programando para Internet » PHP »

ingresar varios registros en bd

Estas en el tema de ingresar varios registros en bd en el foro de PHP en Foros del Web. Hola, hace tiempo hice algo parecido pero no me acuerdo ya que llevo mucho tiempo sin programar nada. Tengo un formulario el cual ingresa unos ...
  #1 (permalink)  
Antiguo 12/09/2013, 12:05
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
ingresar varios registros en bd

Hola, hace tiempo hice algo parecido pero no me acuerdo ya que llevo mucho tiempo sin programar nada.

Tengo un formulario el cual ingresa unos permisos, adjunto imagen para que se entienda mejor.

el formulario lo hice rapido solo para ppoder mostrarlo, pero no tienen asignado nombre de variables ni nada, porque aun no se como hacerlo, quiero ingresarla en la base de datos de la siguiente forma.




Espero se pueda entender bien.
Saludos
  #2 (permalink)  
Antiguo 12/09/2013, 12:18
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: ingresar varios registros en bd

Hola.
Te doy una alternativa.

1.-Envias las variables como array.
Info:
http://www.php.net/manual/es/faq.htm...aq.html.arrays

2.-Recibes la info con php.
Info:
http://www.php.net/manual/es/languag...s.external.php

3.-Haces un foreach e insertas los valores, las funciones necesarias, dependen de tu base datos.

Saludos.
  #3 (permalink)  
Antiguo 12/09/2013, 12:25
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: ingresar varios registros en bd

Hola, las dos primeras mas o menos las tengo claras, pero el problema es que el formulario esta dividido por cada zona, entonces en la base de datos se hace un insert por cada linea de zona que aparece en el formulario, por eso puse una imagen de la tabla de la base de datos, como haria para dividir toda esa información del formulario, y que me haga un insert por cada zona?
  #4 (permalink)  
Antiguo 12/09/2013, 12:32
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: ingresar varios registros en bd

pero esos campos, los llenas vos, o quien lo hace?

que datos contiene?

llevan strings o llevan numeros?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 12/09/2013, 12:47
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: ingresar varios registros en bd

Los campos los lleno yo, o sea primero verifica en la base de datos, y si no estan uno los coloca, si estan en la base de datos aparecen en los inputs o checkbox, aun no se si utilizar uno u otro, llevarian numeros, de momento he probado algo asi:
El formulario todos los campos los tiene como name="permisos[]"

y el php que lo recibe tiene lo siguiente:


Código PHP:
if(isset($_POST['permisos'])){
    foreach (
$_POST['permisos'] as $val){
 
$data[] = sqlValue($val,'text');
}
$imp  =  implode(",",$data);
echo 
$imp;

Solo es a modo de prueba, pero por ejemplo si lleno el formulario que puse en la imagen, con datos, me aparece

'14','si','si','si','si','no','si','no','si','si', 'no','si','no'

todo en una sola linea
y me olvidaba que no le puse permisos[] a zona1, zona2, zona3, etc. para saber el id de la zona.
Se supone que deberia ingresar una linea en el insert, luego la otra y luego la otra no?
  #6 (permalink)  
Antiguo 12/09/2013, 12:53
 
Fecha de Ingreso: julio-2013
Ubicación: México
Mensajes: 361
Antigüedad: 10 años, 8 meses
Puntos: 55
Respuesta: ingresar varios registros en bd

Hola, te lo ejemplifico.
NO ES UN CODIGO USABLE, ES LA BASE PARA QUE CREES EL TUYO.

Código PHP:
//opcion 1
//formulario
name=zona[]        name=ver[]    name=insertar[]
name=zona[]        name=ver[]    name=insertar[]
name=zona[]        name=ver[]    name=insertar[]

//php
$zona=POST/GET
$ver
=POST/GET
$insertar
=POST/GET
$contador
=0;
foreach (
$zona... ){
    
insertar en tabla (ver,insertarvalues ($ver[$contador],$insertar[$contador])
    
$contador++;
}

//opcion 2
//formulario
name=zona1[]//(ver)    name=zona1[]//(insertar)
name=zona2[]//(ver)    name=zona2[]//(insertar)
name=zona3[]//(ver)    name=zona3[]//(insertar)

//php
$zona1=POST/GET
$zona2
=POST/GET

insertar en tabla 
(ver,insertarvalues (zona1[0],$zona1[1)
insertar en tabla (ver,insertarvalues (zona2[0],$zona2[1])
insertar en tabla (ver,insertarvalues (zona3[0],$zona3[1]) 
Esta es la base.
Las variaciones dependen de tu lógica.

Saludos
  #7 (permalink)  
Antiguo 12/09/2013, 13:49
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Respuesta: ingresar varios registros en bd

Lo que necesitas es recibir los datos en un array bidimencional y eso lo haces en el html, por ejemplo la zona 1 seria asi

Código HTML:
Ver original
  1. <input type="chekbox" name="zonas_1_ver" id="zonas[1][ver]">
  2. <input type="chekbox" name="zonas_1_editar" id="zonas[1][editar]">
  3. <input type="chekbox" name="zonas_1_borrar" id="zonas[1][borrar]">

Luego solo tienes que recorrer cada zona y cada accion para hacer el insert (yo borraria todas las zonas antes e insertaria solo las que fueron marcadas en el chekbox)
  #8 (permalink)  
Antiguo 12/09/2013, 14:23
 
Fecha de Ingreso: mayo-2004
Mensajes: 400
Antigüedad: 19 años, 11 meses
Puntos: 0
Respuesta: ingresar varios registros en bd

Gracias voy a investigar las opciones que me dan, como lo de recorrer cada zona y accion, como dije ya ha pasado mucho tiempo desde que hice algo parecido y no me acuerdo jajajaja

Etiquetas: bd, formulario, registros, variable
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 02:06.