Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301

    categorie e sub categorie

    Ciao a tutti

    spero qualcuno possa aiutamni

    dovrei visualizzare delle categorie primarie cat1, cat2, cat3,
    con sotto le relative sotto categorie

    esempio:

    cat1
    sub1
    sub2
    sub3

    cat2
    sub1
    sub2
    sub3

    cat3
    sub1
    sub2
    sub3


    come devo fare se prendo tutte le categorie con mysql_fetch_array?????

    oppure dovrei usare un altro sistema?

    grazie ciao

  2. #2
    Io userei due query diverse: una principale che ti restituisca solo le categorie, e poi per ogni categoria ne fai un'altra che ti dia solo le sotto categorie di quella categoria...

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    ma come faccio?

    io ho un tabella categoria
    con

    id_categoria
    nome_categoria
    img_categoria
    Pid_categoria
    ora

    le categorie principali si installano con id
    1
    2
    3

    e Pid
    o
    o
    o

    poi
    le SubCategorie si posizionano

    con id

    4 e Pid dipendenti da id esempio 1


    come prelevo prima uno e poi le altre?

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    potresti farmi un esempio?

    te ne sarei davvero debitore

  5. #5
    Le categorie principali:

    "SELECT * from categorie where pid=0;"

    Poi il solito ciclo per leggere tutti i record, e
    quando hai letto una categoria ed hai il suo ID in $id:

    "select * from categorie where pid=".$id.";"

    e un ciclo interno che elenchi le sotto categorie.

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    ma in questo modo se aggiungo un'altra categoria principale
    tipo cat4

    non riesco a prelevare le sue sottocategorie direttamente

    dovrei rifare una query nuova per ogni categoria principale

    io dovrei creare delle categorie principali rappresentate da una tabella
    con dentro le sue sottocategorie

    ora

    devo poter aumentare quando voglio le categorie principali a piacimento

    e
    ----cat1----
    | sub1 |
    | sub2 |
    -------------

    ----cat2----
    | sub1 |
    | sub2 |
    -------------


    un domani voglio aggiungere un'altra categoria senza entrare nel codice

    per visualizzare nel browser

    anche questa

    ----cat3-----
    | sub1 |
    | sub2 |
    --------------

  7. #7
    Forse non hai letto bene:

    Query per le categorie principali.

    Ciclo per leggerle una per una.

    Per OGNI categoria, faccio una nuova query che mi restituisca le sue sottocategorie

    Ciclo interno per elencare le subcateg DELLA CATEGORIA CHE STO LEGGENDO ORA

    Chiuso ciclo interno

    Chiuso ciclo esterno

    E si, fai una query principale e tante sottoquery quante sono le categorie principali.

    L'unica alternativa è quella di leggere in un array le categorie e poi andare alla ricerca delle sotto categorie della categoria che stai elencando, ma sicuramente è molto più veloce far fare a lui la ricerca in sql piuttosto che farla tu...

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    301
    scusami tanto ma non sono un esperto ed ho grosse difficolta a capire queste maledette subcategorie

    avevo cercato aiuto tempo fa per trovare un tutorial sulle categorie e sub categorie ma nessuna risposta..

    non e che conosci qualche tutorial in rete dove posso trovare
    spiegazioni dettagliate sull'uso delle sub categorie
    o script facili da comprendere??

    cmq grazie ..... provo come hai detto tu

    sperando di aver capito bene ....


    ciao e grazie

  9. #9
    A questo punto potresti anche fare una cosa di questo tipo (se hai tempo/voglia/possibilità):
    Non è una cosa molto bella per quanto riguarda la progettazione di db, ma se non hai grosse pretese puoi attuarla ugualmente:
    dividi la tua tabella in 2:
    Una per le categorie principali
    Una per le sottocategorie
    (questa possibilità però non ti permetterà di usare livelli multipli per le categorie e sottocategorie)
    .. cmq:

    Tbl_Categoria_padre --> Categorie principali
    id_categoria
    nome_categoria
    img_categoria
    Pid_categoria


    Tbl_SottoCategoria_figlio --> Sottocategorie
    id_sottocategoria
    nome_sottocategoria
    img_sottocategoria
    Pid_sottocategoria
    Padre_sottocategoria

    Per andare a prendere i dati che ti interessano:

    (per prendere ordinatamente tutti i dati presenti nel db)
    "SELEC * FROM Tbl_Categoria_padre, Tbl_SottoCategoria_figlio WHERE id_categoria = Padre_sottocategoria ORDER BY id_categoria ,Padre_sottocategoria"

    oppure

    (per prendere ordinatamente solo categoria e sottocategoria di una categoria desiderata)
    $MIACATEGORIA = xxxxx;
    "SELEC * FROM Tbl_Categoria_padre, Tbl_SottoCategoria_figlio WHERE id_categoria = ".$MIACATEGORIA." id_categoria = Padre_sottocategoria ORDER BY id_categoria ,Padre_sottocategoria"

  10. #10
    Dimenticavo...

    Dopo aver assegnato a una variabile la query:

    $result = mysql_query($sql)
    or die ("NON FUNZIONA UN BIP!!!")
    while ($risultato = mysql_fetch_array($result)){
    echo "Categoria $risultato['id_categoria'] e sottocategoria $risultato['id_sottocategoria']";
    }

    Cmq personalmente preferirei la soluzione di Shores: più pulita rispetto a quella che ti ho appena proposto:


    $sql1 = "SELECT * from categorie";
    $result1 = mysql_query($sql1)
    or die ("NON FUNZIONA UN BIP!!!")
    while ($risultato1 = mysql_fetch_array($result1)){
    $sql2 = "select * from categorie where pid=".$id;
    $result2 = mysql_query($sql2)
    or die ("NON FUNZIONA UN BIP!!!")
    while ($risultato2 = mysql_fetch_array($result2)){
    echo "Categoria $risultato1['id_categoria'] e sottocategoria $risultato2['id_categoria']";
    }
    }
    /*Se non ho fatto casino dovrebbe essere ok, senza indentazione non capisco un'H*/

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.