Qu'est-ce que c'est que ce code

!?
Pas de <html>, 2 <head>, un </select> sans <select> ... pas un seul commentaire...
Et puis, apparement, tu t'y connais pas du tout en JavaScript, parce que j'ai donné la réponse juste au dessus... L'idée c'est que quand tu sélectionne quelque chose dans le premier select, tout le contenu du deuxième est modifié. Pour cela il est d'abord vidé, puis réécrit suivant ce qui est sélectionné. Le JavaScript est généré par PHP sur le serveur, puis envoyé avec la page au client (le JavaScript tourne côté client, contrairement au PHP). Pour adapter ce code, tu vas bien sûr avoir besoin de connaître un minimum de JavaScript...
Le code que je t'ai donné part du principe que tes selects s'appellent z1Rubrique et z1Item, et qu'il se trouve dans un form frmDemo1.
Les données se trouve dans l'exemple dans les tables demo_rubrique et demo_item (voir le lien pour leurs structures).
Le code est un poil compliqué, c'est vrai, mais c'est du HTML modifié par du JavaScript lui même écrit par PHP... si tu ne connais pas l'un des trois, c'est sûr que tu ne vas pas pouvoir l'utiliser.
Mais si tu ne connais pas le JavaScript, sache que tu peux quand même faire une première page avec le premier select, puis une deuxième page avec le second select...
En fait, il ne faut pas que je réactualise ma page car sinon, je perdrais mais données.

Je ne vois toujours pas pourquoi tu perdrais quoi que ce soit... L'attribut ACTION de ton form peut être une page avec des infos après un '?' (méthode GET), ou tu peux placer des <input type="hidden"> dans le form...