Foros del Web » Programando para Internet » PHP »

cómo guardo los id del pedido

Estas en el tema de cómo guardo los id del pedido en el foro de PHP en Foros del Web. hola a tod@s los sabi@s del foro. estoy intentando hacer un carro de compra(php+mysql).el problema que tengo si en mi carro de compra hay más ...
  #1 (permalink)  
Antiguo 15/05/2008, 04:10
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 2 meses
Puntos: 0
cómo guardo los id del pedido

hola a tod@s los sabi@s del foro.
estoy intentando hacer un carro de compra(php+mysql).el problema que tengo si en mi carro de compra hay más de un producto(dos o tres)
(sabiendo que tabla de producto tiene la siguiente estructura:
id int(11) auto_increment(primary key)
producto varchar(100)
author varchar(50)
description longtext
precio decimal(9,2))
no consigo en la tabla de pedidos se guarda los id producto(libros).
la tabla de pedidos tiene la siguente estructura:
idpedido tinyint(1) auto_increment(p.k)
categoid int(2) //aqui guardo los idproducto
precio decimal(9,2) //guardo el total de compra
cantidad tinyint(1) //guardo la cantidad de compra
si por ejemplo un cliente compra más de dos libros ,no consigo guardar los id de de éstos dos libros yaque mi intención que un cliente puede efectuar más de un pedido o compra ¿?corregirme si me equivoco ¿?
aqui os dejo parte del script de la inserción de los datos
con respecto al total de compra y la cantidad de articulos se insertan bien
salvo categoid que me coge solamente un valor aunque en el carro por ejemplo hay más de un producto.
Código PHP:
session_start();
$carro=$_SESSION['carro'];//en $carro guardo toda la compra
$cont=0;
$suma=0;
 foreach($carro as $k => $v){
   $subto=$v['cantidad']*$v['precio'];
   $suma=$suma+$subto;
   $cont++;
 ?>
 <!--aqui se muestra el nombre del producto(libro),precio,cantidad!--> 
 <td><?php echo $v['producto'?></td>
 <td><?php echo $v['precio'?></td>
 <td width="43" align="center"><?php echo $v['cantidad'?></td>  
 </tr>
 <?php ?>
 </table>
 <div align="center"><span class="prod"><h2>Total de Artículos:</h2><?php  echo "<h2>".count($carro)."</h2>"?></span> 
  </div><br>
  <div align="center"><span class="prod"><h2>Total:</h2><?php echo "<h2>".number_format($suma,2)."€</h2>"?></span> 
  </div><br>
  <?php 
   $prod
=$v['id'];
   
$totalarticulos=count($carro);
   
$totalprecio=number_format($suma,2); 
   
$c=mysql_connect("localhost","","root") or die ("problemas al establecer la conexión");
   
$d=mysql_select_db("mispruebas") or die("problemas al seleccionar la base de datos"); 
   
$query="insert into ped_categoria values('','$prod','$totalprecio','$totalarticulos')";
gracias por soportarme hasta aqui.
espero que me explicado más o menos bien
en la espera de vuestra ayuda les saludo atentamente
gracias de antemano
bye
  #2 (permalink)  
Antiguo 15/05/2008, 09:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Re: cómo guardo los id del pedido

Tienes un error de diseño de la base de datos, te falta una tabla que se podria llamar lineasPedido, que tendra una relación uno a n con pedidos, con la estructura siguiente

lineasPedido
idLinea
idPedido fk referenciada a Pedidos
idProducto fk refrenciada a productos
cantidad
preciobase
tipoiva

luego tendras que modificar el php para que haga un insert en la tabla pedidos donde estara la cabecera del pedido y tantos inserts en esta tabla como productos haya en el pedido....

Tanto el preciobase como el tipo de iva ya estan en productos pero te interesa guardarlo aqui tambien por si hay un cambio de precios, los cambias en productos pero el pedido seguira valiendo lo que valia en el momento de realizarlo....

Quim
  #3 (permalink)  
Antiguo 15/05/2008, 14:48
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: cómo guardo los id del pedido

muchisima gracias quim por tu respuesta
tienes razón en lo que me comentaste,pero basicamente quiero primero que se me guarde los idpedido,ya luego intentaré mejorar la aplicación.
a mi la solución que me ocurre es guardarlos en un array y luego pasar este array a la base de datos(pero tampko sé cómo meterle mano )
pero si hay alguna posibilidad de meter lo idpedido directamente,estaré agradecido
gracias por vuestra ayuda.
saludos
  #4 (permalink)  
Antiguo 15/05/2008, 22:30
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: cómo guardo los id del pedido

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #5 (permalink)  
Antiguo 16/05/2008, 00:56
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: cómo guardo los id del pedido

gracias burjonic
lo siento por haber publicado mi mensaje aqui pero el problema lo tenia con la base de datos yaque no se me guardaban los datos por eso lo he puesto aqui
saludos
  #6 (permalink)  
Antiguo 17/05/2008, 03:54
 
Fecha de Ingreso: enero-2008
Mensajes: 88
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: cómo guardo los id del pedido

alguien que nos ayuda por favor
saludos
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 17:06.