Tu problema está precisamente en el uso indiscriminado de ciclos foreach(), ¿por qué estás metiendo uno de otro?
Eso no tiene nada de sentido, y lo peor del asunto es que sólo ejecutas una consulta al final de todo.
No me sorprende que no te funcione como esperas.
En resumen: necesitas aprender a trabajar con arrays, por favor, estudia un poco más del manual.