7 messaggi dal 17 ottobre 2001
Vediamo se qualche mago riesce ad aiutarmi... Con ASP ci smanetto abbastanza... ma con l'sql un po' avanzato ho qualche difficoltà...

Sto' creando una serie di script per costruire un catalogo prodotti e ho qualche problema con categorie/subcategorie.

Prendendo spunto da altre soluzioni molto belle ma inglesi, per gestire le categorie ho deciso di usare questo metodo.

la tabella "categorie" presenta tre colonne:
CatID, CatDESC, CatPARENT.
le prime 2 sono ovvie, la terza invece permette di creare le sottocategorie. Infatti basta creare una categoria e indicare in "parent" l'id di una categoria "padre" esistente per farla diventare "virtualmente" un suo "figlio"

Esempio:
CatID CatDESC CatPARENT
1 Palmari
2 Accessori
3 Notebook
4 Palm 1
5 Compaq 1
6 HandSpring 1

quindi "palm","Compaq" e"handspring" sono figlie di "palmari"

Il problema qual'è? Ve lo spiego subito... Se ho dei prodotti che hanno il valore 4 nel campo categoria, usando la query SQL seguente riesco a recuperarli correttamente

SELECT prodotti.*
FROM categoria INNER JOIN prodotti ON categoria.catID = prodotti.categoria
WHERE (categoria.catDESC)="palm";

Il problema nasce quando voglio recuperare tutti i prodotti che appartengono alla categoria padre "palmari". Nei campi dei prodotti c'è solo l'indicazione della categoria "figlio" (es.4) e vorrei che partendo da questa, leggendo la "catParent" venisse riconosciuto come appartenente alla macrocategoria "palamari"

Vi ho fatto venire il mal di testa? Purtroppo è difficile spiegarlo a parole... facendovelo vedere sarebbe molto + facile!

Spero che qualcuno riesca ad aiutarmi!

32 messaggi dal 15 aprile 2001
Da quel poco che ho capito, non per colpa del post ma per la difficoltà del problema, posso dirti che:

1. la categoria CatPARENT dovrebbe essere in relazione uno a molti con CatDESC e quindi ad ogni "ID" di CatDESC si deve avere la replica sule sottocategorie.

2. io passerei ad una stored procedure le variabili della ricerca tipo @catDESC e @catPARENT consentendo a quest'ultima di essere nulla. Nel caso sia nulla la ricerca si ferma al campo padre mentre se non lo è prosegue nella categoria figlia.

Spero di aver interpretanto quanto hai detto e ti chiedo se perfavore puoi mandare anche a me i link da cui hai recuperato le idee.

ciao e grazie

brainbraga@tiscali.it

26 messaggi dal 06 settembre 2002
In altre parole vorresti poter creare l'albero gerarchico di un'eventuale categoria?

Cioé se viene richiesta Palmari, vorresti:
- Palmari
-- Palm
-- Compaq
-- HandSpring



Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.