Revisa bien la estructura de tu base de datos, y prueba haciendo querys del resultado que quieres, seguro alguito se te escapo, a veces es tanto el codigo y tantas variables que se cruzan, que siempre se nos escapa alguito, y por eso se arruina todo. Revisa a fondo amigo no hay de otra, a todos...