Na dann musst Du mal Dein Konzept umdenken.
Es ist nicht gut, wenn Du in einer Funktion eine While-Schleife hast.
Außerdem würdest Du die Checkboxen jedesmal neu "aufbauen". Braucht es ja eigentlich auch nicht.
Vielleicht kannst Du die gesamte Anzeige in eine Funktion packen und immer mit dem jeweiligen Array aufrufen...
Der Rest ergibt sich dann aus der Anzahl an Elementen...