il punto non è che usi male foreach.. usi male mysql_fetch_*

quella funzioe restituisce un record alla volta, ad ogni invocazione

mentre foreach cicla sugli elementi di un array.. ma ogni array è una riga

http://it.php.net/manual/it/function...etch-assoc.php
http://it.php.net/manual/it/function...-fetch-row.php

http://it.php.net/manual/it/control-...es.foreach.php