Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   cómo guardo id del pedido¿? (https://www.clubdelphi.com/foros/showthread.php?t=56405)

lakers 16-05-2008 12:11:58

cómo guardo 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:mad:¿?
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 :o :p :mad:
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("pro") or die("problemas al seleccionar la base de datos");  
   
$query="insert into ped_categoria values('','$prod','$totalprecio','$totalarticulos'

en la espera de vuestra respuestas les saludo atentamente
gracias
saludos

D-MO 16-05-2008 17:19:27

Según lo que veo, el problema radica en que utilizas una sola tabla para el pedido, con eso, cada vez que agregues un producto estarás agregando un registro nuevo y por lo tanto el id del pedido será diferente.

Lo que yo haría es crear dos tablas para el pedido, "Pedido" y "DetallePedido", en donde pedido sería la "cabecera" y DetallePedido, como su nombre lo indica, sería el "detalle".

Debes relacionar estas dos tablas, para que cada vez que agregues un producto lo hagas a detalle pedido y lo vincules con el id del pedido del cliente.

No se si me he explicado, espero que si:p

Saludos.

lakers 16-05-2008 19:36:55

gracias [D-MO]
por tu respuesta tienes razón en lo que dices pero basicamente tengo 2 tablas:
pedidoid(int(2) primary key (auto_increment)
nombre varchar(10)
dni
dirección
cuidad
codigo postal
con estos datos guardo los datos del cliente
2)tabla pedido_categoria:
pedidoid int()
categoid //para almacenar id de los productos
precio //total de la compra
cantidad //total de articulos
entonces el problema me resulta en el momento de guardar los id de los compra
si tengo la siguiente estructura:
Código PHP:

producto                precio   cantidad de unidad
ada                       12e            1
java desde 0            4e            1 
           Total de Artículos
:
 
                 
2
 
            Total
 
              16€
 
                              su información
nombre 
dni
dirección
cuidad 
codigo postal
                            pulse para confirmar su compra
                                    botón 

toda la información se me guarda bien salvo los id de los productos
lo que me surge pero tampoco sé cómo meterle mano es guardar éstos id en un array y luego guardar éste array en la base de datos pero seria tarea doble:D:o:confused:¿?
espero vuestra ayuda
muchas gracias
saludos


La franja horaria es GMT +2. Ahora son las 00:57:51.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi