¿Y supongo crees que vamos a ejecutar el código mentalmente para decirte qué hay mal?
Por favor depura tu código, es lo mínimo que puedes hacer para entender lo que ocurre ahí, nadie adivinará con solo leer código y menos si no compartes algún error que obtengas, etc.