Hola, tengo un problema, estoy desarrollando una tienda virtual, tengo el archivo catalogo.php donde se listan los productos y el carrito.php donde se muestran los productos agregados, y el total, el problema es que solo he logrado almacenar el total de un producto agregado N veces, lo que necesito es poder agregar varios productos y poder mostrarlo en mi carrito.php, ya que solo me muestra uno (el ultomo agregado) por lo cual solo me muestra los detalles de ese producto y el total de las veces que lo agregue. Muestro mi codigo:
Catalogo.php 
 Código PHP:
    <?PHP
include("includes/conx.php");
 
$query="SELECT * FROM PRODUCTOS";
 
$regs=mysql_query($query,$conx);
 
while($row=mysql_fetch_array($regs)){
    echo"<img src='";   echo"".$row["imagen"]."";echo"'>";
    echo"nombre: ".$row["nombre"]."<br>";
    echo"marca: ".$row["marca"]."<br>";
    echo"modelo: ".$row["modelo"]."<br>";
    echo"descripcion: ".$row["descripcion"]."<br>";
    echo"precio: ".$row["precio"]."<br>";
   echo"<a href='carrito.php?id=";   echo"".$row["id"]."";echo"'>Comprar</a>";
 
    echo"<br>";
 
 
}
 
?>    
  Carrito.php  Código PHP:
    <?PHP
session_start();
 
include("includes/conx.php");
 
if(($_GET["id"]==$_SESSION["id"]))
{
 
$_SESSION["cantidad"]+=1;
    echo"este producto ya lo has agregado";
 
}
elseif(($_GET["id"]!=$_SESSION["id"]))
{
    
echo"Producto nuevo agregado exitosamente";
}
$_SESSION["id"]=$_GET["id"];
 
$producto=mysql_real_escape_string($_GET["id"]);
 
$query="SELECT * FROM PRODUCTOS WHERE id=$producto";
$pedido=mysql_query($query,$conx);
 
while($row=mysql_fetch_array($pedido)){
    $detalles=array($nombre=$row["nombre"],$marca=$row["marca"],$precio=$row["precio"]);
    $p=$_SESSION["detalles"]=$detalles;
    echo"<br>Usted pidio: $nombre<br>";
    echo"De la marca: $marca<br>";
    echo"El cual cuesta: $precio";
 
}
 
$total=$_SESSION["cantidad"]*$precio;
echo"<br>Total:<b>$total</b>";
 
//$error=mysql_error();
//echo$error;
echo"<br>Cantidad: ";
echo$_SESSION["cantidad"];
echo"<br>";
foreach($detalles as $clave=>$valor)
{
    echo$clave; echo"<br>";
    echo$valor;
}
?>    
  Ya intente de muchas formas y nomas no me sale :(
Espero me puedan hechar una mano.
Saludos