Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301

    Output per questa query

    da una query del genere come faccio ad ottenere un risultato???
    mi spiego meglio:
    ho una tabella categoria strutturata cosi

    id | nome | Pid

    1 | padre 1 | 0
    2 | padre 2 | 0
    3 | figlio di 1-1 | 1
    4 | figlio di 2-1 | 2
    5 | padre 3 | 0
    6 | figlio di 2-2 | 2
    7 | figlio di 3-1 | 5
    8 | figlio di 1-2 | 1
    9 | padre 4 | 0



    La query è la seguente:
    SELECT tab1.id as IDpadre, tab1.nome as padre, tab2.id as IDfiglio,tab2.nome as figlio from TABELLA as tab1 join TABELLA as tab2 on(tab1.id=tab2.pid or (tab1.pid=0 and tab1.id=tab2.id)) order by IDpadre,IDfiglio;

    come faccio a gestire un output per questa interogazione in modo che mi visualizzai
    categorie
    padre 1
    -figlio 1
    -figlio 2
    padre 2
    -figlio 1
    -figlio 2

    spero qualcuno possa aiutarmi .....

    grazie
    /* No Comment Please */

  2. #2
    E se semplificassi così:

    function display_tree($id, $indent=0)
    {
    $result = mysql_query("SELECT * FROM TABELLA WHERE id = $id ");

    echo "da padre id $id
    ";
    while($row = mysql_fetch_array($result))
    {
    echo str_repeat('', $indent). "figlio ".$row["nome"]." " .$row["id"]."
    ";
    display_tree($row["id"], $indent + 1);
    }

    }

    Non l'ho testata ma spero ti sia utile

    Ciao
    In a world without walls and fences - who needs windows and gates ?

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    Facendo due query sono capace anche io il mio problema e che avendo molte categorie e sub categorie non volevo appesantire php eseguendo una infinità di query solo per fare un elenco principale.....in poche parole troppo overhead...

    cmq grazie ..

    io devo fare una sola query per ottenere lo steso risultato


    Forse non si può fare ?

    bhoo lo chiedo a voi guru
    /* No Comment Please */

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    scus ala mia risposta non ha a che fare con la tua risposta ..

    cmq proverò subito la tua soluzione

    grazie


    Altre soluzioni???
    /* No Comment Please */

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    Miiii ma e davvero difficile????????



    /* No Comment Please */

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    E se semplificassi così:

    function display_tree($id, $indent=0)
    {
    $result = mysql_query("SELECT * FROM TABELLA WHERE id = $id ");

    echo "da padre id $id
    ";
    while($row = mysql_fetch_array($result))
    {
    echo str_repeat(' ', $indent). "figlio ".$row["nome"]." " .$row["id"]."
    ";
    display_tree($row["id"], $indent + 1);
    }

    }

    Non l'ho testata ma spero ti sia utile

    Ciao
    la cosa funziona con qualche modifica solo che mi prende anche ...come dire i nipoti

    a me servono solo padri e figli...
    /* No Comment Please */

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301



    mi serve solo capire come gestire l'output ......


    /* No Comment Please */

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    Aiuto bubu77 ..... o gm

    c'è qualcuno che puo aiutarmi......


    /* No Comment Please */

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.