$sql="select carrello.*,articoli.* from carrello left join articoli on carrello.id_prodotto=articoli.id_articolo where carrello.id_vendita=:id_vendita";
$query=$dbh->prepare($sql);
$query->bindParam(':id_vendita',$_SESSION['id_vendita'],PDO::PARAM_STR);
$query->execute();
$results=$query->fetchAll(PDO::FETCH_OBJ);
if($query->rowCount() > 0)
{
foreach($results as $row)
{
// ========================= Leggo il valore id_articolo dal carrello ========================================
$id_articolo_carrello=$row->id_prodotto;
$quantita=$row->quantita;
$quantita_da_aggiornare = $quantita-1;
$prezzo_finale = $row->carrello_prezzo_vendita;
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$dbh->beginTransaction();
//Scrivo i dati nella tabella Vendite
$sql2="insert into vendite (id_prodotto,id_vendita,data_vendita,prezzo_vendita) Values (:id_prodotto,:id_vendita,:data_vendita,:prezzo_vendita)";
$query2=$dbh->prepare($sql2);
$query2->bindParam(':id_prodotto',$id_articolo_carrello,PDO::PARAM_STR);
$query2->bindParam(':id_vendita',$_SESSION['id_vendita'],PDO::PARAM_STR);
$query2->bindParam(':data_vendita',$venduto_data,PDO::PARAM_STR);
$query2->bindParam(':prezzo_vendita',$prezzo_finale,PDO::PARAM_STR);
$query2->execute();
// =========================Aggiorno le quantità di magazzino ========================================
$sql2="Update articoli set quantita=:quantita_da_aggiornare where id_articolo=:idarticolo";
$query2=$dbh->prepare($sql2);
$query2->bindParam(':quantita_da_aggiornare',$quantita_da_aggiornare,PDO::PARAM_STR);
$query2->bindParam(':idarticolo',$id_articolo_carrello,PDO::PARAM_STR);
$query2->execute();
// ========================= Cancello i dati della vendita dal carrello ========================================
$sql2="delete from carrello where id_vendita=:id_vendita";
$query2=$dbh->prepare($sql2);
$query2->bindParam(':id_vendita',$_SESSION['id_vendita'],PDO::PARAM_STR);
$query2->execute();
$dbh->commit();
} catch (PDOException $e) {
$message = $e->getMessage();
echo '<script type="text/javascript">alert("'.$message.'");</script>';
$dbh->rollback();
}