Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   PHP (http://www.forosdelweb.com/f18/)
-   -   cómo guardo los id del pedido (http://www.forosdelweb.com/f18/como-guardo-id-del-pedido-586714/)

chouki 15/05/2008 04:10

cómo guardo los id del pedido
 
hola a tod@s los sabi@s del foro.:si:
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 :molesto:¿?
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

quimfv 15/05/2008 09:17

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

chouki 15/05/2008 14:48

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 :borracho::neurotico)
pero si hay alguna posibilidad de meter lo idpedido directamente,estaré agradecido
gracias por vuestra ayuda.
saludos

BrujoNic 15/05/2008 22:30

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

chouki 16/05/2008 00:56

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
:neurotico

chouki 17/05/2008 03:54

Respuesta: cómo guardo los id del pedido
 
alguien que nos ayuda por favor
saludos
:aplauso:


La zona horaria es GMT -6. Ahora son las 08:51.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.