Retroceder   Foros del Web > Programación para sitios web > PHP

Respuesta
 
Herramientas Desplegado
Antiguo 15-may-2008, 04:10   #1 (permalink)
chouki ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 46
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
chouki está desconectado   Responder Citando
Antiguo 15-may-2008, 09:17   #2 (permalink)
quimfv tiene algunos puntos positivos de karma
 
Fecha de Ingreso: marzo-2008
Mensajes: 439
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
quimfv está desconectado   Responder Citando
Antiguo 15-may-2008, 14:48   #3 (permalink)
chouki ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 46
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
chouki está desconectado   Responder Citando
Antiguo 15-may-2008, 22:30   #4 (permalink)
Moderador NO Sabio
BrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy prontoBrujoNic llegará a ser famoso muy pronto
 
Avatar de BrujoNic
 
Fecha de Ingreso: noviembre-2002
Ubicación: Costa Rica/Nicaragua
Mensajes: 10.898
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
__________________
Orgulloso de ser latino y demostrar que si uno trata de escribir bien, los demás comprenderán lo que respondo.
¿Fácil verdad?
BrujoNic está desconectado   Responder Citando
Antiguo 16-may-2008, 00:56   #5 (permalink)
chouki ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 46
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
chouki está desconectado   Responder Citando
Antiguo 17-may-2008, 03:54   #6 (permalink)
chouki ha deshabilitado el karma
 
Fecha de Ingreso: enero-2008
Mensajes: 46
Respuesta: cómo guardo los id del pedido

alguien que nos ayuda por favor
saludos
chouki está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 04:09.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93