Salve a tutti,ho un problema con una funzione ricorsiva.
Innanzitutto vi spiego cosa dovrebbe fare:
ho una tabella organizzata in modo gerarchico contenente delle categorie.La funzione dovrebbe fare in modo che,eliminata una categoria vengano eliminate tutte le sue sottocategorie. Ecco la struttura della tabella:

CREATE TABLE `categorie` (
`idcat` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nome` VARCHAR( 60 ) NOT NULL,
`padre` INT default '0';

Ecco la funzione:

function EliminaSubcats($padre) {
if (! mysql_query("DELETE FROM categorie WHERE idcat='".$padre."';") ) {
echo "errore";
}
$risultato = mysql_query("SELECT idcat,padre FROM categorie WHERE padre=".$padre.";");
while ( $riga = mysql_fetch_array($risultato) ) {
EliminaSubcats($riga['padre']);
}
}

Il problema è che la funzione,nel caso di più sottocategorie sembra ripetersi in modo infinito,senza fornire alcun output.Credo ci sia qualche errore che data la mia pochissima esperienza non riesco a inquadrare.Grazie anticipatamente a chiunqhe cerchi di aiutarmi!