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

    tabelle e funzioni ricorsive

    ho questa tabella:

    codice:
    CREATE TABLE `CATEGORIE` (
      `CATEGORIA_ID` int(10) unsigned NOT NULL auto_increment,
      `CATEGORIA` varchar(50) default NULL,
      `META` text,
      `CATEGORIA_PADRE_ID` int(11) NOT NULL default '0',
      PRIMARY KEY  (`CATEGORIA_ID`)
    ) TYPE=InnoDB AUTO_INCREMENT=1 ;

    solo che ora non so da che parte cominciare per costruira la parte di front-end in amministrazione per l'inserimento delle categorie.

    Cioč, ci dev'essere la possibilitą di selezionare la categoria o le categorie padre ( pensavo da una combobox ), ma come faccio a farglielo fare? so che serve una funzione ricorsiva, ma non so come implementarla. Qualcuno mi dą una mano?




    grazie!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si č completamente identificato con quello del suo padrone

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Non č troppo difficile, č la parola "ricorsivo" che spaventa.

    fai una funzione che accetti come parametro l'id genitore, e che di default valga 0:

    codice:
    function sfogliaramo($id = 0) {
    
    }
    dentro la funzione fai una query in cui richiedi i figli dell'id passato.
    Nel caso in cui non abbia figli fai terminare il codice, altrimenti richiami la funzione stessa passando l'indice ricevuto.

    codice:
    $query = "SELECT * FROM tabella WHERE genitore =".$id;
    
    $result = mysql_query($result);
    
    if(mysql_num_rows($result)) {
      
      while($row=mysql_fetch_array($result,MYSQL_ASSOC)) {
    
        //ovviamente qui dentro dovrai anche comporre il codice da mostrare
      
         sfogliaramo($row['id']);
    
      }
    
    }
    spero ti possa essere d'aiuto...

    ciao

  3. #3
    si si mi sei stato molto d'aiuto. Grazie mille!!

    in effetti pensavo fosse chissą cosa, invece ho visto anche altri articoli e questa funzione in sč non č molto complicata!



    L'unica cosa che non mi funziona č l'assegnazione di default a 0 del "padre", ma poco importa. Ho risolto facendo prima una query che mi prende tutti i rami aventi CATEGORIA_PADREA_ID=0. Ho poi fatto un ciclo per stamparli e dentro a quel ciclo ci ho piazzato il richiamo alla funzione e funziona una meraviglia!






    Grazie ancora!
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si č completamente identificato con quello del suo padrone

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.