ciao a tutti,
sto cercando di venire a capo e concludere un carrello elettronico ma mi fermo qui...

1. scelgo i prodotti ma la sessione li registra in questo modo: se io metto nel carrello n 5 pezzi del prodotto PRIMO (con id 1), stampando la sessione vedrò: 1,1,1,1,1
quindi mi ripete l'id tante volte quante la quantità indicata

2. a me serve stampare in sessione la quantità (quindi, nel nostro esempio 5) e l'id del prodotto--> il risultato dovrebbe essere "q.tà 5 | id prodotto 1|" in modo da avere un riassunto prima di registrare l'ordine sul db

come posso fare?

=======
la funzione che carica il punto 1 è
Codice PHP:
function mostraCarrello()
{
  global 
$db;
  
$carrello $_SESSION['carrello'];
  
$somma 0;
  if (
$carrello)
  {
    
$prodotti = @explode(',',$carrello);
    
$acquisti = array();
    foreach (
$prodotti as $prodotto)
    {
      
$acquisti[$prodotto] = (@isset($acquisti[$prodotto])) ? $acquisti[$prodotto] + 1;
    }
    
$result[] = '<form action="carrello.php?action=aggiorna" method="post" id="cart">';
    
$result[] = '<table>';

    foreach (
$acquisti as $id=>$quantita)
    {
      
$sql 'SELECT * FROM prodotti WHERE id = '.$id;
      
$res $db->query($sql);
      
$f $res->fetch();
      @
extract($f);
      
$result[] = '<tr>';
      
$result[] = '<td>[url="carrello.php?action=cancella&id='.$id.'"]Cancella[/url]</td>';
      
$result[] = '<td>'.$nome.' by '.$descrizione.'</td>';
      
$result[] = '<td>&euro;'.$prezzo.'</td>';
      
$result[] = '<td><input type="text" name="quantita'.$id.'" value="'.$quantita.'" size="3"></td>';
      
$result[] = '<td>&euro;'.($prezzo $quantita).'</td>';
      
$result[] = '<td>contenuto '$carrello .'</td>';
      
$subsomma += ($prezzo $quantita)*20/100;
      
$result[] = '<td>- 20%--> &euro;'.(($prezzo $quantita)-$subsomma).'</td>';
      
$somma += $prezzo $quantita;
      
$result[] = '</tr>';
    }

    
$result[] = '</table>';
    
$result[] = 'Totale: [b]&euro;'.($somma-$subsomma).'[/b]</br>';
    
$result[] = '<button type="submit">Aggiorna il carrello</button>';
    
$result[] = '</form>';
  }else{
    
$result[] = 'Il carrello è vuoto.
'
;
  }
  return @
join('',$result);