Ciao ragazzi,
ho un catalogo di gioielleria in PHP/MySQL con 1 tabella di articoli, 1 di materiali (oro, argento..), 1 di pietre (brillanti, rubini,...) e 2 tabelle con le associazioni di materiali e pietre agli articoli.
Ho bisogno di consentire all'utente di filtrare i risultati (un solo materiale e/o pietra alla volta!).
Un esempio che mi viene chiesto di ricalcare è l'attuale catalogo Damiani (http://www.damiani.com/it/products/collections/jewelry/)
Nessun problema se viene impostato uno solo dei filtri:
Per la mia competenza il problema sorge se l'utente desidera restringere la ricerca sia per pietra che per materiale e se la query va estesa anche alla tabella 'ass_materiali' (perché l'utente mi fornisce anche 'ID_Materiale').codice:SELECT catalogo.ID_Articolo, catalogo.ID_Cat, catalogo.Codice, ass_pietre.ID_Articolo FROM catalogo INNER JOIN ass_pietre ON catalogo.ID_Articolo=ass_pietre.ID_Articolo WHERE ID_Cat='x' AND ID_Pietra='y'
Serve forse un tipo di JOIN multiplo (o si dice multipla?) per selezionare solo gli articoli del catalogo presenti su entrambe le tabelle di associazioni?
(Sul sito Damiani se si seleziona il materiale 'ceramica', solo alcune 'pietre' restano disponibili; ma a me non interesserebbe interrogare ulteriormente il db).
Grazie per le indicazioni che potrete fornirmi ed un saluto cordiale.
Dario