yo,
Wo ist hier der Fehler?
zum einen würde ich mir mal die variable $query ausgeben lassen, nachdem du sie in der schleife gebildet hast. so ist es schwer zu sagen, ob es einen fehler innerhalb der query gibt.
if(mysql_affected_rows() > 0)
diese funktion basiert auf DML befehle, sprich updates, inserts und deletes nicht aber auch select abfragen. dafür ist mysql_num_rows zuständig, dass du auch weiter unten benutzt.
Ilja