Ya se te comento el problema en tu thread anterior amigo.
Por qué utilizas un while ? porque necesitas recorerr algo X cantidad de veces, siendo X un número desconocido.
Entonces el while se ejecuta X veces.
Por cada vez que se cumple un ciclo, con estas instrucciones:
Código PHP:
Ver original$_SESSION["nom_prod"]= $nombre;
$_SESSION["id_prod"]= $id;
$_SESSION["precio_prod"]= $precio;
Le pones valores nuevos a esas variables, entonces es fácil darse cuenta de que por cada ciclo que pasa, pisas el valor anterior de estas variables por el nuevo.
Supongamos que el while hace 3 pasadas, en la primera "nom_prod" es "te", en la segunda viene "miel" y pisa a "te" y así sucesivamente, quedándote siempre el último valor en tu variable de sesión.
Lo que tenes que hacer es poner los productos en un array y después pasarlos a $_SESSION.
Ahora se entiende?
Saludos.