Aun no me queda claro cual es el problema y por que no te ha funcionado el ejemplo del compañero.
Por cierto por qué utilizas la @
Es una mala práctica esconder los errores .
Te has fijado que algunos Select del los formularios tienen el mismo name, esto hará que sólo se envíe el último del mismo name.