In realtà sarebbe stato un po' più corto se si fosse solo memorizzata la varibile $messaggio e poi con uno switch fuori dal while gestito l'invio di email e visualizzazione a schermo, una roba tipo:

Codice PHP:
...
        while (
$row mysql_fetch_array($result)) {
                
$messaggio .= "Art: $row[articolo]
Q.tà: 
$row[quantita]

"
;// lo inserisce nel messaggio da inviare
        

    }

    
$oggetto="Richiesta Ordine"
    switch (
$modalita) {
        case 
soloReport:
               echo 
$messaggio;
               break;               
        case 
soloMail:
               
mail($destinatario$oggetto$messaggio$mail_header)."\n"
               break;               
        case 
tutto:
               echo 
$messaggio;
               
mail($destinatario$oggetto$messaggio$mail_header)."\n"
               break;               
        }
...