Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    Consiglio su ricorsione

    Salve a tutti, vi "presento" il mio problema.
    Ho una tabella chiamata sotto_categorie, ci sono i seguenti campi:

    id_categoria (numerico)
    id_sotto_categoria (auto_increment)
    descrizione sottocategoria (carattere)
    Padre (numerico)
    Livello (numerico)

    Il mio scopo è quello di creare una struttura ad albero per Categorie e sottocategorie es:

    FRUTTA (Padre=Null)
    |-----------> MELE (Padre=Codice Frutta)
    | |----------> MELE ROSSE (Padre=Codice MELE)
    | | |-->ROSSE TRENTINO (Padre=MELE R.)
    | | |-->ROSSE ROMANE (Padre=MELE R.)
    | |----------> MELE GIALLE

    Il padre conserva il codice del livello precedente, mentre il livello
    mi indica il livello in cui ci troviamo.
    La gestione nel database funziona bene .... ma mi sto' inceppando sulla funzione per stmpare tale cosa .... servirebbe una funzione ricorsiva .... mi potete aiutare?

    Grazie
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  2. #2
    Te la devi creare tu con le JOIN su tabelle
    Buongiorno! Buongiorno! Mi chiamo Francesco...

  3. #3
    ahah! Dimentivaco! Hai definito gli indici per l'incrocio su + tabelle?
    Buongiorno! Buongiorno! Mi chiamo Francesco...

  4. #4
    ti spieghi meglio?
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  5. #5
    mi fai un esempio?
    "Considerate la vostra semenza:
    fatti non foste a viver come bruti,
    ma per seguir virtute e canoscenza''."
    Dante Alighieri

  6. #6
    INNAZI TUTTO COSA VUOI STAMPARE?
    Buongiorno! Buongiorno! Mi chiamo Francesco...

  7. #7
    Non sarebbe meglio usare una unica tabella con una colonna idpadre che identifica il padre e i padri senza padri abbiano uno 0? In questo modo avresti una struttura a n livelli.
    Saluti a tutti
    Riccardo

  8. #8
    si ma da punto di vista tecnico è un pessimo modo di operare, non si capirebbe le relazioni dei dati e inoltre le query sarebbero lentissime
    Buongiorno! Buongiorno! Mi chiamo Francesco...

  9. #9
    Originariamente inviato da webfranco1
    si ma da punto di vista tecnico è un pessimo modo di operare, non si capirebbe le relazioni dei dati
    Cosa intendi per "capire le relazioni dei dati"? In una situazione come quella esposta, di una mela rossa mi interessa sapere che e' figlia di una mela e che la mela a sua volta e' figlia delle mele del sudtirolo e che le mele de sudtirolo sono figlie delle mele italiane ecc. fino ad arrivare al padre che non e' figlio di nessuno.
    e inoltre le query sarebbero lentissime
    Se lo dici probabilmente hai provato la cosa anche se non capisco perche' dovrebbero essere lentissime.
    In ogni caso, io cercherei una soluzione che mi lascerebbe libero di avere n livelli piuttoso di una in cui se domani devo aggiungere il livello della variazione delle mele gialle devo aggiungere una tabella. Per questo mi sembra un'esagerazione definirlo un "pessimo modo di operare".
    Saluti a tutti
    Riccardo

  10. #10
    su righe che non superano i 1000 record sono daccordo con te, ma sopra le mille righe, per esperienza, le query cominciano ad essere + lente man mano che il numero di record sale, pertanto definire + tabelle non costa in termini di risorse + ma può ottiminizzare la perfomance delle query........
    Buongiorno! Buongiorno! Mi chiamo Francesco...

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.