$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();
    
    }