Anche se la sintassi è corretta, purtroppo la logica è sbagliata.
Tu fai:
Codice PHP:
$Codice=0;
$comando="select distinct Regione, Provincia, Città, Tipo, scuola.Nome as Scuola, dirigente.Nome, Cognome 
from dirigente inner join scuola 
where dirigente.CodiceScuola=
$Codice"
La query cerca il record con CodiceScuola=$Codice
Non vedo perchè fai l'incremento nel ciclo while
In ogni caso quando premi sul pulsante submit per ricaricare la pagina, nonostante gli incrementi che fai $Codice per la query avrà sempre il valore 0.
Se vuoi che $Codice cambi valore dovresti aggiungere un controllo nascosto che assuma il valore raggiunto nel ciclo while.
Codice PHP:
<input type='hidden' name='Codice' value='$Codice' /> 
Poi, ad inizio pagina metterei:
Codice PHP:
if (isset ($_POST['Codice'])) {
    
$Codice=$_POST['Codice']; 
} else {
    
$Codice=0

In questo modo ad ogni ricarico della pagina, se la pagina si chiama SingoloDirigente.php, dopo il submit avrai il $Codice col nuovo valore.