Visualizzazione dei risultati da 1 a 2 su 2

Discussione: Ricorsione PHP e MySQL

  1. #1

    Ricorsione PHP e MySQL

    Allora ragazzi, ho un problema che riguarda entrambe le cose (PHP e MySQL) ma credo che quello che mi fa casini è MySQL...

    Ho una tabella così strutturata:

    Codice PHP:
    CREATE TABLE mkp_guida (
        
    id INT(10AUTO_INCREMENT,
        
    idcategoria INT(10NOT NULL DEFAULT '0',
        
    idautore INT(10NOT NULL DEFAULT '0',
        
    titolo VARCHAR(255NOT NULL,
        
    autore VARCHAR(34NOT NULL,
        
    testo TEXT NOT NULL,
        
    data INT(10),
        
    validate TINYINT(1) DEFAULT '1',
        
    padre INT(10) DEFAULT '0',
        
    PRIMARY KEY (id),
        
    FOREIGN KEY (idcategoriaREFERENCES mkp_guida_sections(id)
    ); 
    Quello che ci interessa è:
    Codice PHP:
    mkp_guida idtitolopadre 
    dove:
    ID è l'identificativo di una guida
    TITOLO è il titolo della guida
    PADRE è uguale a zero se la guida è la radice per altre guide, mentre se diverso da 0 può essere uguale ad uno degli altri ID ed indica che questa guida è figlia di quella con ID = PADRE
    Quello che voglio fare è costruire un albero di guide (forse meglio dire una foresta) che ha come radici le guide che hanno PADRE=0 e si ramifica nei vari figli.

    Esempio:
    INSERT INTO mkp_guida VALUES ( '1', 'Guida 1', '0');
    INSERT INTO mkp_guida VALUES ( '2', 'Guida 1_2', '1');
    INSERT INTO mkp_guida VALUES ( '3', 'Guida 1_2_1', '2');
    INSERT INTO mkp_guida VALUES ( '4', 'Guida 2', '0');
    INSERT INTO mkp_guida VALUES ( '5', 'Guida 2_1', '4');
    INSERT INTO mkp_guida VALUES ( '6', 'Guida 3', '0');
    Il risultato deve essere:
    -Guida 1
    ----Guida 1_2
    --------Guida 1_2_1
    -Guida 2
    ----Guida 2_1
    -Guida 3
    ho quindi creato in php due funzioni di cui una ricorsiva...solo che non mi esce per niente questo risultato....qualcuno può aiutarmi?

  2. #2
    rettifico...forse ho risolto

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.