Sin ánimos de ofender de hecho todo lo contrario, estás aprendiendo a correr antes de caminar. Como dice arriba creo que debes estudiar un poco antes de meter dedos en la masa.
Digo esto porque explicas lo que quieres muy bien pero al ver en práctica de tu código queda plasmado que no lo estás haciendo y en parte se ven incongruencias
Saludos