innerHTML permet de modifier le contenu d'un div , mais aussi de pas mal d'autres elements . Ca n'a rien a voir avec la manière d'appeler la fonction ( onclick , onmouseover, .... )
tu peux remplacer " en janvier il fait froid" par du html , mais pour mettre du code php a la place , ca va etre plus compliqué . N'oublie pas que tu l'appelle en javascript ,donc cote client
tu peux avoir des class sur un objet et un id, c'est valide et conseillé
<div class="mois truc bidule" id="janvier"> </div> ==> div ayant 3 classes ( mois, truc et bidule ) et un id
il y a , au plus , 1 id par objet , et chaque id doit etre unique dans la page