Foros del Web » Programando para Internet » PHP »

Ayuda com Array.....

Estas en el tema de Ayuda com Array..... en el foro de PHP en Foros del Web. pues necesito insertar los datos del arreglo dentro de una tabla en una bd y creo q me estoy ahogando en un vaso de agua.... ...
  #1 (permalink)  
Antiguo 15/03/2005, 20:56
 
Fecha de Ingreso: febrero-2004
Ubicación: mm Una casita muy mona xD
Mensajes: 6
Antigüedad: 13 años, 10 meses
Puntos: 0
Ayuda com Array.....

pues necesito insertar los datos del arreglo dentro de una tabla en una bd y creo q me estoy ahogando en un vaso de agua....
para visualizar mas es algo como:
tengo dos tablas
pedidos y detalle_pedido

en la primera tengo q insertar los datos del cliente, la fecha del pedido y el total del pedido, en la segunda tengo q colocar el id del pedido del cliente, el id del producto y la cantidad de producto,

todos estos datos estan almacenados en un arreglo asi para cada vez que se seleccione un producto este se va agregando al arreglo
puede ser observado aqui: http://barcadeoro.ideascreativas.net/web/ingresar.php
User: jesus
pass: 123456

el problema esta al momento de realizar la introduccion de estos datos a la base de datos actualmente manejo muy poco sql y creo q mi falla esta en como estoy generando la sentencia sql...

$base="base";
$tabla1="pedidos";
$tabla2="detalle_pedidos";

$conexion=mysql_connect ("$server","$base","$pass") or die ('No es Posible conectar a la Base de datos debido a: ' . mysql_error());
mysql_select_db($base,$conexion);

mysql_query("INSERT $tabla1 (id_cliente,monto_total) VALUES
('$id_cliente','$suma')",$conexion);

for ($i=0;$i<$this->num_productos;$i++){
if($this->array_id_prod[$i]!=0){

mysql_query("insert $tabla2(id_pedido, id_producto, cant_pedido) values
('mysql_last_id($base)', '$this->array_id_prod[$i]','$this->array_cant_prod[$i]')",$conexion);
}
}

pues asi es q me lo imagino quisiera pudieran tenderme una mano... gracias y saludos a todos ;)
  #2 (permalink)  
Antiguo 15/03/2005, 21:04
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 12 años, 8 meses
Puntos: 17
Con esto quizás ande... el tema es q mezclas mucho PHP y SQL.
Te recomiendo después de todas las consultas poner or die(mysql_error()). (no había visto q faltaba el into =P)


$base="base";
$tabla1="pedidos";
$tabla2="detalle_pedidos";

$conexion=mysql_connect ($server,$base,$pass) or die ('No es Posible conectar a la Base de datos debido a: ' . mysql_error());
mysql_select_db($base,$conexion);

mysql_query("INSERT INTO ".$tabla1." (id_cliente,monto_total) VALUES
('".$id_cliente."','".$suma."')",$conexion) or die(mysql_error());

for ($i=0;$i<$this->num_productos;$i++){
if($this->array_id_prod[$i]!=0){

mysql_query("insert ".$tabla2." (id_pedido, id_producto, cant_pedido) values
('".mysql_last_id($base)."', '".$this->array_id_prod[$i]."','".$this->array_cant_prod[$i]."')",$conexion) or die(mysql_error());
}

Última edición por Seppo; 15/03/2005 a las 21:07
  #3 (permalink)  
Antiguo 15/03/2005, 21:05
Avatar de yoseman  
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 14 años
Puntos: 5
A simple vista parece que lo único que te falta en las query es el INSERT INTO, porque sólo pusiste INSERT. Pero lo mismo hay más cosas, porque a mi no me suena la función mysql_last_id , claro que lo mismo es una funcioncilla que te has definido tu.

Salu2 ;)
__________________
[+]
[+]

Última edición por yoseman; 15/03/2005 a las 21:13
  #4 (permalink)  
Antiguo 16/03/2005, 05:50
 
Fecha de Ingreso: marzo-2005
Mensajes: 163
Antigüedad: 12 años, 9 meses
Puntos: 0
Estas usando mal la funcion mysql_last_id($base) (A menos que sea una funcion definida por vos). Debes usar mysql_insert_id($conexion).Y deberias utilizarla antes del for, ya que en el bucle despues de cada insert te cambia el ultimo id insertado.
Pruebalo y cuenta si te ayudo
Saludos
  #5 (permalink)  
Antiguo 16/03/2005, 06:01
 
Fecha de Ingreso: febrero-2004
Ubicación: mm Una casita muy mona xD
Mensajes: 6
Antigüedad: 13 años, 10 meses
Puntos: 0
tienes mucha razon eso ya lo verifique mi problema es q no encuentro como recoger las variables del array para insertarlas en la bd.. y pues muchas gracias..........
  #6 (permalink)  
Antiguo 16/03/2005, 06:04
 
Fecha de Ingreso: marzo-2005
Mensajes: 163
Antigüedad: 12 años, 9 meses
Puntos: 0
esto donde lo estas usando? Dentro de una clase supongo. La forma en la recorres el arreglo parece muy acertada y es la forma de acceder a los datos.
Suerte
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:14.