Magari è una stupidaggine... ma la dico lo stesso

Si potebbe usare un contatore $i che incrementi ad ogni ciclo e poi lo inseririsci nella tabella nel campo id_ordine

Codice PHP:
$i=0//inizializzo un contatore
foreach($array as $key => $value) {         
$piatto_ordinato $value["piatto"];    
$id_piatto $value["id piatto"];     
$quantita $value["quantita"];         
$prezzo_singolo $value["prezzo singolo"];     
$prezzo_totale $value["prezzo totale"];     
$query "INSERT INTO ordini (id_ordine, id_piatto, piatto_ordinato, quantita_ordinata,
prezzo_singolo, prezzo_totale)  VALUES (
$i$id_piatto, '$piatto_ordinato', $quantita$prezzo_singolo$prezzo_totale)";  
if (
$db->GetDatabaseResult($query)) {     
echo 
"INSERIMENTO AVVENUTO";
i++; //questo vedi se metterlo solo dopo un'esecuzione riuscita o prima... 


Non ho la possibilità di provarlo, vedi se funziona...