Ciao a tutti,
Sto cercando di fare una prova di carrello e mi trovo di fronte a questo problema, ho tre tabelle, la tabella prodotti è la principale ed le altre, image - taglia, sono collegate da id_prodotto.
Diciamo che ho 2 prodotti inseriti ed ognuno di loro ha 2 taglie e 2 image, a video dovrebbe stamparmi 2 righe in questo modo :
prodotto 1 + menu tendina (taglia) + menu tendina (image)
Utilizzando il codice di partenza che ho scritto mi vengono fuori tante righe quanti risultati,
quindi
prodotti 1 - taglia 1 - image 1
prodotti 1 - taglia 2 - image 2
prodotti 1 - taglia 1 - image 2
prodotti 1 - taglia 2 - image 1
prodotti 2 - taglia 1 - image 1
prodotti 2 - taglia 2 - image 2
prodotti 2 - taglia 1 - image 2
prodotti 2 - taglia 2 - image 1
Come posso modificare il mio codice per avere i menu a tendina di taglie e image per ogni prodotto ?codice:$sql="SELECT prodotti.*, image.*, taglia.* FROM prodotti INNER JOIN image ON prodotti.id = image.id_prodotto INNER JOIN taglia ON image.id_prodotto = taglia.id_prodotto WHERE prodotti.id = '1'"; $res = $db->query($sql); while ($f = $res->fetch()) { echo " $f[nome] - $f[codice] > euro $f[prezzo] - $f[taglia] - $f[colore] <a href=\"carrello.php?action=aggiungi&id=$f[id]\">Aggiungi al carrello.</a> "; } CREATE TABLE `prodotti` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `nome` varchar(255) NOT NULL DEFAULT '', `codice` varchar(255) NOT NULL DEFAULT '', `prezzo` decimal(6,2) DEFAULT '0.00', `testo` longtext, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ; CREATE TABLE `image` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_prodotto` int(11) DEFAULT NULL, `colore` varchar(255) DEFAULT NULL, `foto` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ; CREATE TABLE `taglia` ( `id` int(11) NOT NULL AUTO_INCREMENT, `id_prodotto` int(11) DEFAULT NULL, `taglia` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
Grazie a tutti

Rispondi quotando