Foros del Web » Programando para Internet » PHP »

ayuda con multi insercion

Estas en el tema de ayuda con multi insercion en el foro de PHP en Foros del Web. Hola listeros estoy insertando en una tabla esto que traigo de una funsion con ajax y php. Lo que traigo en la funcion con ajax ...
  #1 (permalink)  
Antiguo 08/07/2008, 20:27
 
Fecha de Ingreso: marzo-2006
Mensajes: 110
Antigüedad: 18 años, 1 mes
Puntos: 0
ayuda con multi insercion

Hola listeros estoy insertando en una tabla esto que traigo de una funsion con ajax y php. Lo que traigo en la funcion con ajax es la variable "variable", pero como tengo varios campos de texto que la uno a "variable", me manda los registros asi: "valor1", "valor2", etc.. Y donde los cacho los recibo asi:
$var=$_GET['variable'];
Al imprimir $var me sale esto: valor1valor2valor...

Lo que requiero es insertar asi

"insert tabla values(campo1) values ('valor1')";
"insert tabla values(campo1) values ('valor2')";
y asi sucesivamente, pero si no tengo ningun registro entonces no manda nada a insertar.

Lo estoy intentando con el foreach sin ningun resultado.

Espero y me ayuden se los voy a agradecer
  #2 (permalink)  
Antiguo 08/07/2008, 21:47
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: ayuda con multi insercion

Debes separarlos con algun texto o enviarlos en distintas variables... ya que asi es casi imposible ver donde termina valor1 y donde empieza valor2.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 08/07/2008, 22:03
Avatar de KATICA  
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: ayuda con multi insercion

SANDO
haber y te comento como lo hago y miras si te sirve


Código PHP:

$sql
="insert into tabla1 values('campo1',''campo2)";
$s=new sql_pg($sql,$this->conexion);
$resultado $s->realiza_operacion();
$sql2="insert into tabla2 values('campo1','campo2')";
$s2=new sql_pg($sql2,$this->conexion);
$resultado2 $s2->realiza_operacion(); 
te aclaro utilizo postgres.... y si necesitas hacer insercion d el amisma tabla tambien funciona pero no telo recomiendo ... la cuesto esta que llames la consultas diferente.. espero te sea de ayuda ..


Saludos..
  #4 (permalink)  
Antiguo 09/07/2008, 07:39
 
Fecha de Ingreso: marzo-2006
Mensajes: 110
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: ayuda con multi insercion

Mira ya los separe por un texto con una ',' y cuando hago in list me manda siempre la primera clave que inserto.

con respecto a lo de porner varias variables no lo creo ya que de clave son mas o menos unos 15 campos de texto, asi de descripcion, precio, etc.

Imaginate cuantas variables necesitaria de mandar.
No se si haya una mejor manera, y gracias por responder
Cita:
Iniciado por Marvin Ver Mensaje
Debes separarlos con algun texto o enviarlos en distintas variables... ya que asi es casi imposible ver donde termina valor1 y donde empieza valor2.

Suerte!
  #5 (permalink)  
Antiguo 10/07/2008, 01:25
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: ayuda con multi insercion

Mira teniendo el ; ya tienes como separarlos:
Código PHP:
//Esta se parece a la que tu tienes en $_GET['variable'];
$var "hola;chao;perrito;gatito;halcon";
//Aca la separamos por el ;
$arrDatos explode(';',$var);
//Ahora recorremos el arreglo $arrDatos para mostrar los datos de a uno
foreach($arrDatos as $deAUno){
    
//Aca los mostramos para que veas como se comporta
    
echo '<br>'.$deAUno;

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #6 (permalink)  
Antiguo 17/07/2008, 10:38
 
Fecha de Ingreso: marzo-2006
Mensajes: 110
Antigüedad: 18 años, 1 mes
Puntos: 0
Respuesta: ayuda con multi insercion

Hola lo que hice es separarlos con una coma(,); y cada variable las puse en un foreach.
Mas o menos asi:

$var=$_GET['variable'];

list ($c1,$c2,.....$c15)=split('[,]',$var);
//luego los meti a un arreglo

$arre=array($c1,$c2,$c3,.......$c15);

forach($arre as $cla=>$cv)
{
//inserto en la base de datos

insert into tabla values ('$cv',)

}

Eso lo hace bien, pero quiero traer otras variables mas que necesito tambien multinsertar como por ejemplo:

tengo
$var=$_GET['variable'];
$var2=$_GET['variable2'];
$var3=$_GET['variable3'];
.
.
.
$var15=$_GET['variable15'];


si ya tengo el primer foreach como le hago para meter las demas variables y me las inserte.

La insercion deberia funcionar asi

insert into tabla values ($cv, $cant, $desc, $pre);

Mas o menos asi es como deberia de insertarmelos. Si necesitan mas informacion con gusto se las dare. GRax

Cita:
Iniciado por Marvin Ver Mensaje
Mira teniendo el ; ya tienes como separarlos:
Código PHP:
//Esta se parece a la que tu tienes en $_GET['variable'];
$var "hola;chao;perrito;gatito;halcon";
//Aca la separamos por el ;
$arrDatos explode(';',$var);
//Ahora recorremos el arreglo $arrDatos para mostrar los datos de a uno
foreach($arrDatos as $deAUno){
    
//Aca los mostramos para que veas como se comporta
    
echo '<br>'.$deAUno;

Suerte!
  #7 (permalink)  
Antiguo 22/07/2008, 10:14
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Respuesta: ayuda con multi insercion

Te recomiendo que trates de armar una matriz con todos los datos, por ejemplo:
Código PHP:
$arr['cv'][0] = "cv1";
$arr['cant'][0] = "cant1";
$arr['desc'][0] = "desc1";
$arr['pre'][0] = "pre1";
//registro 2
$arr['cv'][1] = "cv2";
$arr['cant'][1] = "cant2";
$arr['desc'][1] = "desc2";
$arr['pre'][1] = "pre2"
De esa manera haces un for y recorres este arreglo completo para hacer las inserciones y no tienes que darte mas vueltas.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
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 09:50.