Visualizzazione dei risultati da 1 a 3 su 3

Discussione: funzione ricorsiva

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    255

    funzione ricorsiva

    ciao a tutti!

    ho creato una funzione ricorsiva

    <?
    function lista_select($id_m) {
    global $result,$row,$db,$spazio;
    echo "<ul>";
    $result = mysql_query("SELECT * FROM categoria WHERE id_macro=$id_m", $db);
    while ($row = mysql_fetch_array($result)){
    echo"[*]".$row["nome"]."";
    lista_select($row["id"]);
    }
    echo"[/list]";
    }
    ?>

    per mostrare una lista di categorie e le relative sottocategorie, ma non va avanti. Stampa la prima categoria madre, le relative sottocategorie e poi si ferma... secondo voi perche?

  2. #2
    è perché nel global hai inserito anche $row e $result, sebbene siano variabili locali.

    Codice PHP:
    <?
    function lista_select($id_m) {
       global 
    $db;
       echo 
    "<ul>";
       
    $result mysql_query("SELECT * FROM categoria WHERE id_macro=$id_m"$db);
       while (
    $row mysql_fetch_array($result)){
          echo
    "[*]".$row["nome"]."";
          
    lista_select($row["id"]);
       }
       echo
    "[/list]";
    }
    ?>
    Ti ho tolto anche spazio, perché non mi sembra lo usi

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    255
    grazie!!! ora funziona!
    grazie mille, due volte ho fatto le domande sulle funzioni php e due volte su questo forum mi avete risposto subito e correttamente...
    forum html regna!!!

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.