Тоесть чтобы данные в сессии хранились в таком виде:
id count color size
Сам код:
session_start();
if (!isset($_SESSION['basket'])) {
$_SESSION['basket'] = array();
}
if(isset($_GET['id']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `tovar` WHERE `id`='".intval($_GET['id'])."'"), 0) == 1) {
$id = intval($_GET['id']);
$count = isset($_POST['count'])? intval($_POST['count']) : 1; // если юзер выбрал количество - записываем, иначе - количество = 1
$_SESSION['basket'][$id]=$count; // ключ - айдишник товара, значение - количество товара
}
$listIds = array_keys($_SESSION['basket']); // получаем массив ключей (т.е. айдишников товаров)
if (count($listIds) > 0) {
$sql = "SELECT * FROM `tovar` WHERE `id` IN (".implode(',', $listIds).")";
$result=mysql_query($sql);
while($res = mysql_fetch_assoc($result)) {
$price_all = $res['price'] * $_SESSION['basket'][$res['id']]; // второй параметр - ранее записанное количество товара
echo "</br></br><h1>".$res['price']."</h1>";
echo "Полная цена (цена на количество): {$price_all}";
}
} else {
echo 'Товаров в корзине нет';
}