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

    Funzione ricorsiva per ID parent

    Salve a tutti.
    Ho un database con una tabella dove ho campo ID e campo parentID.
    Le voci di primo livello hanno parentID = 0
    Le altre hanno come parentID l'ID della voce padre.
    Detto questo ho scritto una funzione che dato un ID ricostruisce a ritroso la sequenza di ID fino a quando non arriva a parentID = 0.
    Codice PHP:
    function buildParentPath($theID$theParentIDs$theDB) {
        
    $query "SELECT parentID FROM news001 WHERE ID = $theID";
        
    $result mysql_query($query$theDB);
        if (
    $result) {
            
    $row mysql_fetch_array($result);
            
    $theParentID $row[0];
            if (
    $theParentID 0) {
                
    $theParentIDs .= $theParentID;
                
    buildParentPath($theParentID$theParentIDs$theDB);
            } else {
                return 
    $theParentIDs;
            }
        }

    la funzione la chiamo in questo modo:
    Codice PHP:
    $parentIDs;
    $a buildParentPath($parentID$parentIDs$db);
    print(
    $a); 
    Il problema è che non restituisce nulla, ovvero la variabile $a è vuota.
    Se dentro la funzione, invece, faccio dei print di $theParentIDs allora vedo la sequenza di parentID.
    Come posso risolvere?
    A me serve memorizzare questa stringa dentro la variabile $a per poi trattarla come un array.

  2. #2

  3. #3
    Originariamente inviato da filippo.toso
    Ti suggerisco di leggere questo articolo:

    Managing Hierarchical Data in MySQL
    Grazie.
    Ho già risolto leggendo questo: http://www.sitepoint.com/article/hie...-data-database

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.