ciao,
ho questo codice:
Codice PHP:
<?php
$sid = session_id();
// check if the product is already
// in cart table for this session
$sql = "SELECT ct.pd_id, pd.pd_id, abbonamento
FROM tbl_cart ct, tbl_product pd
WHERE ct.pd_id = pd.pd_id
AND pd.pd_id =$productId AND ct_session_id = '$sid'";
$result = dbQuery($sql);
while ($row = dbFetchAssoc($result)) {
extract($row);
if ($abbonamento == 'N' && $_GET['pd'] =='N') {
echo "il prodotto che stai per inserire è dello stesso tipo presente nel carrello, cioè NON è un abbonamento";
} elseif ($abbonamento == 'S' && $_GET['pd'] =='S') {
echo "il prodotto che stai per inserire è dello stesso tipo presente nel carrello, cioè è un abbonamento";
} elseif ($abbonamento == 'N' && $_GET['pd'] =='S') {
echo "il prodotto che stai per inserire non è dello stesso tipo. Nel carrello hai un prodotto normale, il tuo è un abbonamento";
} elseif ($abbonamento == 'S' && $_GET['pd'] =='N') {
echo "il prodotto che stai per inserire non è dello stesso tipo. Nel carrello hai un abbonamento, il tuo è un prodotto normale";
}elseif (dbNumRows($result) == 0) {
// put the product in cart table
$sql = "INSERT INTO tbl_cart (pd_id, ct_qty, ct_session_id, lang_name, ct_date)
VALUES ($productId, 1, '$sid', '{$_POST["lingua"]}', NOW())";
$result = dbQuery($sql)or die(mysql_error());
} else {
// update product quantity in cart table
$sql = "UPDATE tbl_cart
SET ct_qty = ct_qty + 1
WHERE ct_session_id = '$sid' AND pd_id = $productId";
$result = dbQuery($sql)or die(mysql_error());
}
}
il problema è che i controlli che ho messo non funzionano bene.
se inserisco nel carrello un prodotto e poi ne inserisco un altro dello stesso tipo, funziona, cioè mi stampa il messaggio, se invece il confronto è tra 2 prodotti diversi non succede nulla; il prodotto viene inserito senza nessun controllo...
cosa sbaglio?