Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema con funzione ricorsiva

    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!

  2. #2

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.