guardar los id del pedido

Forums: 

hola a tod@s los foreros ;)
haber si me podéis hechar la mano por fa en este tema yaque me ase falta urgentemente,en principio estoy haciendo un carro de compra(php+mysql)
lo estoy haciendo un pko a lo bruto pero el más importante para mi que funcione.
el problema que me resulta si me carro tiene más de un producto no puedo guardar los identificadores del producto¿?y la verdad nosé cómo resolverlo¿?
os comento que mi tabla de producto tiene la siguiente estructura:
id int(11) auto_increment(p.k)
producto varchar(100)
author varchar(50)
description longtext
precio decimal(9,2)
en la tabla de pedido(los datos del cliente):
siguiente estructura:
pedidoid int(2) No auto_increment
nombre varchar(20) // nombre del cliente
dni varchar(9) // dni del cliente
direccion varchar(100) // dirección del cliente
cuidad varchar(30) // cuidad del cliente
codpostal varchar(40) // codpos del cliente
la tabla de la descripción del pedido tiene la siguiente estructura:
idpedido
idproducto
precio //total de la compra
cantidad //es el número de articulos
+ o - con la siguiente estructura:

producto precio cantidad udades
redes 10euros 1
sw del pc 15 1
total de articulos
2
total compra
25
su información

nombre ----------------
dni ----------------
dirección ----------------
cuidad ----------------
codigo p ----------------
boton
pulse para finalizar su
compra


script 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++;
?>

<?php echo $v['producto'] ?>
<?php echo $v['precio'] ?>
<?php echo $v['cantidad'] ?>

<?php } ?>

Total de Artículos:
<?php echo "".count($carro).""; ?>


Total:
<?php echo "".number_format($suma,2)."€"; ?>



<?php
$prod=$v['id']; /*kdo hay más de un producto no sé cómo lo almaceno
aqui*/
$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 detalles_pedido values('','$prod','$totalprecio','$totalarticulos');

gracias por soportame hasta aqui,
espero vuestra colaboración saludos
gracias de antemano

gracias deathuser pero el

gracias deathuser
pero el problema lo intenté dentro del for y me pilla solamente
uno no consiguo kdo hay varios productos que se alamcenan compadre
o sea no resuelvo el problema,
tal vez en la tabla de descripcion_pedido hay que quitar el auto_increment
de la columna id_pedido ¿?nosé ¿?
en la espera de su respuesta les saludo
atentamente
gracias

Ya se que pasa, cuando usas

Imagen de deathUser

Ya se que pasa, cuando usas autoincrement, tienes que mandar null en el insert, normalmente se lo hace con un insert completo:


insert into detalles_pedido
(idpedido,idproducto,precio,cantidad)
values
('$idpedido','$prod','$totalprecio','$totalarticulos')

Si te fijas no se incluye en el insert el campo de autoincrement...

bye
:)

gracias deathuser tengo que

gracias deathuser
tengo que retocar algunas cosillas,por eso queria preguntarte
si hay alguna posibilidad de que en el mismo script puedo efectuar la llamada y la inserción de datos:
haber si me explico con este ejemplo
prueba.php

Su información

Nombre:

password:

subir

<?php
$c=mysql_connect("localhost","","root") or die("problemas al establecer la conexión");
$d=mysql_select_db("fact") or die("problemas al seleccionar la base de datos");
$query="insert into auth values('','".$name."','".$pass."')";
if(mysql_query($query))
echo("los datos se insertaron bien");
else
die(mysql_error());
?>

o sea en action llamo al mismo script que tiene los datos de la llamada.
en la espera de su respuesta les saludo atentamente
gracias de antemano

Puedes hacerlo, pero es una

Imagen de deathUser

Puedes hacerlo, pero es una mala práctica esa de mezclar la lógica de presentación (VISTA HTML) con la lógica de aplicación o lógica del negocio, es decir, siempre es mejor llamar a un script PHP que haga lo que tiene que hacer (IFS, Interacción con base de datos, etc, etc, etc ...) y que luego de terminar lo que tiene que hacer incluya, cargue, forwardee hacia una plantilla adecuada.

Te recomiendo usar un FRAMEWORK como symfony si quieres algo que te ayude a separar las cosas, o si no, construye algo tu mismo pero separando lo que es HTML de lo que es PHP ...

Suerte ...

bye
:)