utilizzo un solo script che fa tutto:
è tutto commentato...
nella parte finale vorrei poter recuperare tramite l'ID inserito in array il TITOLO e il PREZZO del prodotto che sono in DB.
dunque quando mostro il carrello (parte finale del codice) non vorrei vedere:
2 Quantità 2
5 Quantità 6
ma
Titolo Quantità 2 Prezzo
Titolo Quantità 6 Prezzo
Codice PHP:
session_start();
//------------------------------------------------------------------------------
// SE LA SESSIONE NON ESISTE LA CREA
//------------------------------------------------------------------------------
if (!isset($_SESSION['jnb_total_products'])){
$_SESSION['jnb_total_products'] = 0;
}
//------------------------------------------------------------------------------
// IL LINK SUI PRODOTTI è DEL TIPO pagina.php?action=add&product=$id&quantitade=1 (per eliminare action=substract)
//------------------------------------------------------------------------------
switch (@$_GET['action']){
//-- adding
//--------------
case 'add':
if (isset($_SESSION['jnb_quantity'][$_GET['product']])){
// SE IL PRODOTTO è NEL CARRELLO AUMENTO LA QUANTITà DI 1
$_SESSION['jnb_quantity'][$_GET['product']] += $_GET['quantidade'];
}else{
// SE IL PRODOTTO NON ESISTE NEL CARRELLO
// LO AGGIUNGO
$_SESSION['jnb_quantity'][$_GET['product']] = $_GET['quantidade'];
$_SESSION['jnb_total_products']++;
// Sorting alphabeticaly the products
ksort ($_SESSION['jnb_quantity']);
}
break;
//-- subtracting
//--------------
case 'subtract':
if ($_SESSION['jnb_quantity'][$_GET['product']] <= $_GET['quantidade']){
// SE ACT=SUBSTRACT RIMUOVO IL PRODOTTO SE LA QUANTITà è = 1
unset($_SESSION['jnb_quantity'][$_GET['product']]);
$_SESSION['jnb_total_products']--;
}else{
// SE è MAGGIORE DI 1 SOTTRAGGO UNA UNITà
$_SESSION['jnb_quantity'][$_GET['product']] -= $_GET['quantidade'];
}
break;
}
//------------------------------------------------------------------------------
//-- SE CI SONO PRODOTTI STAMPO LA LISTA
//------------------------------------------------------------------------------
if ($_SESSION['jnb_total_products'] > 0){
echo 'BASKET LIST
';
// Because the product name is the index key, we will list the jnb_quantity variable keys
$array_products = array_keys($_SESSION['jnb_quantity']);
foreach ($array_products as $product){
echo '[url="buy.php?action=subtract&product=' . $product . '&quantidade=1"]' . $product . '[/url] qtd: ' . $_SESSION['jnb_quantity'][$product] . '
';
}
echo '
';
}
//------------------------------------------------------------------------------
//-- IL MODELLO DI LINK
//------------------------------------------------------------------------------
echo 'AVAILABLE PRODUCTS
';
echo '[url="buy.php?action=add&product=$id&quantidade=1"]$titolo[/url]
';
echo '[url="buy.php?action=add&product=$id&quantidade=1"]$titolo[/url]
';
echo '[url="buy.php?action=add&product=$id&quantidade=1"]$titolo[/url]
';
?>