Visualizzazione dei risultati da 1 a 5 su 5

Discussione: select ricorsivo

  1. #1
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657

    select ricorsivo

    è un'ora che cerco di creare un codice che, facendo select e prelevando n campi, mi facesse un select per ogni riga (e se c'è di bisogno per le altre righe a venire) in modo da creare una struttura gerarchica

    suppotene una tabella di questo tipo
    codice:
    id | appartiene_a_id
    1  |    0
    2  |    0
    3  |    1
    4  |    1
    5  |    2
    6  |    4
    quindi la struttura gerarchica sarebbe

    codice:
    1
    \__3
       4
       \__6
    2
    \__5
    cos'è possibile far una cosa del genere con l'iterazione? Il problema è ke la profondità è "illimitata".

  2. #2
    è assai semplice, ma sarebbe più facile darti un esempio concreto se dai qualche dettaglio sulla fonte dei valori (e come li leggi) e sul tipo di risultato che vuoi (print, array, ...).

    Altrimenti ti basta fare une funzione che prende un parametro che corrisponde a 'appartiene_a_id', e per ogni id trovato si richiama la stessa funzione passando in parametro il nuovo id.

  3. #3
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    non mi viene in mente niente usando l'sql

    secondo me ti conviene fare una sola select sql per leggere il contenuto della tabella, poi ti crei una funzione ricorsiva in php che ti popola un albero (un array) secondo le tue esigenze. Probabilmente questa soluzione è meno dispendiosa di molte altre che implicano più query sql

  4. #4
    Utente bannato
    Registrato dal
    Jun 2003
    Messaggi
    3,657
    ma già avevo pensato alla ricorsione (ed è stata applicate in altre situazioni simili)...nn si può implementare il ciò in una iterazione?

  5. #5
    Utente di HTML.it L'avatar di kuarl
    Registrato dal
    Oct 2001
    Messaggi
    1,093
    Originariamente inviato da FinalFantasy
    ma già avevo pensato alla ricorsione (ed è stata applicate in altre situazioni simili)...nn si può implementare il ciò in una iterazione?
    quello che vai a creare è una struttura ad albero che con la ricorsione ci va ad olio (gli alberi sono strutture ricorsive)

    Il metodo verrebbe di poche righe. Perché perdersi nella stesura di un metodo iterativo tutt'altro che semplice?

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.