creo que tu problema si está en la consulta pero con tanto codigo php ni me puedo concentrar en el problema.
Te recomiendo plantees mejor tu pregunta resaltando el problema que tienes solo con la consulta. No pongas codigo php, solo SQL.
Recuerda esto
http://www.forosdelweb.com/f21/funci...-datos-413499/
Después miras la forma de adaptar la consulta al lenguaje.
saludos magman