Foros del Web » Programando para Internet » PHP »

Multiples insert desde Php a mysql

Estas en el tema de Multiples insert desde Php a mysql en el foro de PHP en Foros del Web. Hola!! quiero hacer una especie de ventana como la de phpmyadmin pero en PHP, en la que quiero mediante sentencias sql insertar en la base ...
  #1 (permalink)  
Antiguo 25/09/2010, 07:49
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 16 años
Puntos: 0
Multiples insert desde Php a mysql

Hola!! quiero hacer una especie de ventana como la de phpmyadmin pero en PHP, en la que quiero mediante sentencias sql insertar en la base de datos, sin tener la necesidad de dirigirme a phpmyadmin.

Mi idea es algo algo:

Tengo un textarea donde insertar todas las sentencias que necesite como por ejemplo:

INSERT INTO tabla (campo1,campo2) VALUES ('1','2');
INSERT INTO tabla (campo1,campo2) VALUES ('3','4');
INSERT INTO tabla (campo1,campo2) VALUES ('5','6');
INSERT INTO tabla (campo1,campo2) VALUES ('abc','asdf');
..........

Vamos lo que sería muchos insert como se hiciera desde phpmyadmin

El textarea al enviarlo por el formulario en $POST pues se enviaría algo asi:

$texto=$POST['texto'];
$insert=mysql_db_query($bdatos,$codigo);
if($insert)
{
echo"Datos insertados";
} // fin si insert
else
{echo"Error";}

Pero la verdad al ser multiple insert no se yo que habría que cambiar.

Gracias por la ayuda aunque se que es algo muy sencillo
  #2 (permalink)  
Antiguo 25/09/2010, 08:00
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Multiples insert desde Php a mysql

Haz un array asociativo con el formulario, y luego recorrerlo.

Código PHP:
<?php
$_POST
['casilla1'] = $c1;
$_POST['casilla2'] = $c2;
$_POST['casilla3'] = $c3;
$_POST['casilla4'] = $c4;

$array = array(

'Campo1,Campo2' => $c1.','.$c2,
'Campo1,Campo2' => $c3.','.$c4);

foreach(
$array as $campos => $formulario) {
y a continuación la query usando las variables recorridas con foreach.

Pruébalo y ya dirás si funciona.
  #3 (permalink)  
Antiguo 25/09/2010, 08:52
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: Multiples insert desde Php a mysql

Si es solo para inserts podés hacer un Insert Múltiple
Código SQL:
Ver original
  1. INSERT INTO tabla (campo1,campo2)
  2. VALUES
  3.  ('1', '2'),
  4.  ('3', '3'),
  5.  ('5', '6'),
  6.  ('abc','asdf');

Si es para todo tipo de consulas podrías tomar la cadena que viene por $_POST y dividirla con la función explode() (usando el ";" como delimitador), esto te crea un array() que puedes recorer y ejecutar individualmente cada consulta
  #4 (permalink)  
Antiguo 25/09/2010, 08:55
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 16 años
Puntos: 0
Respuesta: Multiples insert desde Php a mysql

Gracias a los dos por responderme.

Mi intención es usarlo para crear tablas, insertar, editar, etc. Vamos todas las posibilidades que se darían desde phpmyadmin.
Mi idea va mas encaminada a la de lisandro, ya que yo solo quiero usar un campo de formulario, y no tener que usar varios input.

Probaré lo del array. Si teneis alguna otra idea estoy atento

Gracias!!
  #5 (permalink)  
Antiguo 28/09/2010, 10:38
 
Fecha de Ingreso: mayo-2008
Mensajes: 156
Antigüedad: 16 años
Puntos: 0
Respuesta: Multiples insert desde Php a mysql

BUeno por fin lo he probado y decir que va como la seda. El error que tenía es que al ser un textarea, pasaba automaticamente los simbolos de comillas a \" y claro pues no insertaba. Un error tontaco por mi parte!

gracias por la ayuda!
  #6 (permalink)  
Antiguo 02/10/2010, 10:48
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Multiples insert desde Php a mysql

Oigan tengo una enorme pregunta lo que pasa es que quiero saber si puede hacerse un solo INSERT para diferentes tablas? podrian ayudarme nviando me un mail? [email protected]
  #7 (permalink)  
Antiguo 02/10/2010, 11:15
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: Multiples insert desde Php a mysql

Cita:
Iniciado por monemy Ver Mensaje
Oigan tengo una enorme pregunta lo que pasa es que quiero saber si puede hacerse un solo INSERT para diferentes tablas? podrian ayudarme nviando me un mail? [email protected]
Un solo insert para diferentes tablas? si es un mismo insert para diferentes tablas no sería entonces que todas las tablas son iguiales?

tal vez lo que quisiste decir fue un insert "configurable" dependiendo de las tablas, si es así sería


$tab[0]="tabla1";
$tab[1]= "tabla2";
$tab[2]="tabla3";
$campo[0]=" campo1,campo2,campo3,campo4";
$campo[1]=" field1, field2";
$campo[2]="dato1,dato2,dato3,dato4,dato5,dato6";
$value[0]= "$a1,$a2,$a3,$a4";
$value[1] = "$b1,$b2";
$value[2] = "$a1,$b1,$a2,$a3,$b2,$a4";

for ($i=0; $i<3;$i++)
{
$ins = "INSERT INTO " . $tab[$i] . "( " . $campo[$i] . " ) values ( " . $value[$i] . " ) ";
}

OJO lo coloqué así para que lo vieras, pero hay muchas formas, esto lo digo por los amigos que estan por ahí no responden nunca y gustan de corregir a los que se toman el tiempo de responder algunda duda...

Espero que te sirva saludos

Etiquetas: insert, multiples, mysql
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 05:55.