quell'errore è causato dal fatto che quello che passi al foreach non è un array (ad esempio se non hai risultati dalla query).

per ovviare in questi casi basta:

codice:
if(is_array($data)) {
  foreach($data as $key => $val) {
  ...
  }
}