Ciao a tutti,
spero di non fare una domanda troppo stupida.
Sto cercando di creare un artigianale sistema di gestione categoria-sottocategoria-prodotto.
Il db che ho creato è strutturato così:
CATEGORIA
id_categoria
nome_categoria
SOTTOCATEGORIA
id_sottocategoria
id_categoria
nome_sottocategoria
PRODOTTI
id_prodotto
id_sottocategoria
Ora quello che volevo fare era la parte di visualizzazione.
Quello che cerco di creare è una cosa simile:
Categoria 1
- Sottocategoria a
- Sottocategoria b
Categoria 2
- Sottocategoria c
- Sottocategoria d
- Sottocategoria e
e poi, cliccando sulla sottocategoria di riferimento, far vedere il listato dei prodotti.
La soluzione che mi è venuta in mente, ma che temo essere decisamente complessa e poco elegante, è quella di fare una query per estrapolare le categorie e nel ciclo (un classico while($row = mysql_fetch_array() ) di presentazione, prima della sua chiusura far partire una seconda query di ricerca delle sottocategorie con condizione WHERE...
Provo a scrivere il codice, magari così risulta più chiaro
Credo che sia un po' contorto, e che non sia propriamente elegante.codice:<ul> <?php /*Richiamo le CATEGORIE*/ $query = "SELECT * FROM categorie"; $results = mysql_query($query); while ($row = mysql_fetch_array($results)){ $id_categoria = $row['id_categoria']; $categoria = $row['nome_categoria']; ?> [*]<div class="categoria"><?php echo $categoria; ?></div> <ul> <?php /*Richiamo le SOTTOCATEGORIE*/ $query = "SELECT * FROM sottocategorie WHERE id_categoria = $id_categoria"; $ris_sottoc = mysql_query($query); while ($sottocat = mysql_fetch_array($ris_sottoc)){ $id_sottocategoria = $sottocat['id']; $sottocategoria = $sottocat['nome_sottocategoria']; ?> [*]<div class="sottocat"><?php echo $sottocategoria; ?></div> <?php } ?>[/list] <?php } ?>[/list]
Ma non ho idea di come poter risolvere la faccenda in altro modo.
A parte gli insulti (che merito, lo so)... qualcuno potrebbe dirmi se esiste un metodo più semplice per raggiungere il risultato desiderato?
Voi cinture-nere di php/mysql, come le risolvete queste visualizzazioni?![]()