Я прошу вас о помощи, пожалуйста.
У меня есть запрос, который я использовал для получения всех продуктов из основной таблицы, а при объединении он также извлекал соответствующие фотографии из другой таблицы. Проблема с этим запросом заключается в том, что он дублирует результат, когда я печатаю его на экране (насколько я понял, так и происходит, потому что для каждого продукта есть две фотографии). Я хотел бы распечатать каждый товар только один раз, но со всеми двумя фотографиями. Поискав в Интернете, я понял, что мне нужно как-то сгруппировать данные, но, честно говоря, я не так хорош. Как мне изменить этот запрос, чтобы достичь этой цели? Можете ли вы мне помочь, пожалуйста?
"SELECT tbl_prodotti.id AS id,
tbl_prodotti.nome AS nome,
tbl_prodotti.kg AS kg,
tbl_prodotti.tipologia_prodotto AS tipologia_prodotto,
tbl_prodotti.s_pc AS s_pc,
tbl_prodotti.potere_calorico AS potere_calorico,
tbl_prodotti.s_ceneri AS s_ceneri,
tbl_prodotti.ceneri AS ceneri,
tbl_prodotti.certificazione AS certificazione,
tbl_prodotti.rif_certificazione AS rif_certificazione,
tbl_prodotti.essenze AS essenze,
tbl_prodotti.s_diametro AS s_diametro,
tbl_prodotti.diametro AS diametro,
tbl_prodotti.diametro2 AS diametro2,
tbl_prodotti.s_lung AS s_lung,
tbl_prodotti.lunghezza AS lunghezza,
tbl_prodotti.s_larghezza AS s_larghezza,
tbl_prodotti.larghezza AS larghezza,
tbl_prodotti.s_umidita AS s_umidita,
tbl_prodotti.umidita AS umidita,
tbl_prodotti.s_durabilita AS s_durabilita,
tbl_prodotti.durabilita AS durabilita,
tbl_prodotti.s_pf AS s_pf,
tbl_prodotti.polveri_fini AS polveri_fini,
tbl_prodotti.s_add AS s_add,
tbl_prodotti.additivi AS additivi,
tbl_prodotti.disponibilita AS disponibilita,
tbl_imgs.foto AS foto,
tbl_imgs.posizione AS posizione,
tbl_certificazione.nome AS riferimento_certificazione
FROM tbl_prodotti
LEFT JOIN tbl_imgs
ON tbl_imgs.id_prodotto = tbl_prodotti.id
LEFT JOIN tbl_certificazione
ON tbl_certificazione.id = tbl_prodotti.rif_certificazione
WHERE tbl_prodotti.tipologia_prodotto = :tipologia_prodotto
ORDER BY tbl_prodotti.id ASC"
Изменить: ниже обновлен запрос и часть моего PHP-кода для разбивки результата и его циклического просмотра.
SELECT tbl_prodotti.id AS id,
tbl_prodotti.nome AS nome,
tbl_prodotti.kg AS kg,
tbl_prodotti.tipologia_prodotto AS tipologia_prodotto,
tbl_prodotti.s_pc AS s_pc,
tbl_prodotti.potere_calorico AS potere_calorico,
tbl_prodotti.s_ceneri AS s_ceneri,
tbl_prodotti.ceneri AS ceneri,
tbl_prodotti.certificazione AS certificazione,
tbl_prodotti.rif_certificazione AS rif_certificazione,
tbl_prodotti.essenze AS essenze,
tbl_prodotti.s_diametro AS s_diametro,
tbl_prodotti.diametro AS diametro,
tbl_prodotti.diametro2 AS diametro2,
tbl_prodotti.s_lung AS s_lung,
tbl_prodotti.lunghezza AS lunghezza,
tbl_prodotti.s_larghezza AS s_larghezza,
tbl_prodotti.larghezza AS larghezza,
tbl_prodotti.s_umidita AS s_umidita,
tbl_prodotti.umidita AS umidita,
tbl_prodotti.s_durabilita AS s_durabilita,
tbl_prodotti.durabilita AS durabilita,
tbl_prodotti.s_pf AS s_pf,
tbl_prodotti.polveri_fini AS polveri_fini,
tbl_prodotti.s_add AS s_add,
tbl_prodotti.additivi AS additivi,
tbl_prodotti.disponibilita AS disponibilita,
tbl_imgs.posizione AS posizione,
tbl_certificazione.nome AS riferimento_certificazione,
group_concat(tbl_imgs.foto ORDER BY posizione) as immagini
FROM tbl_prodotti
LEFT JOIN tbl_imgs
ON tbl_imgs.id_prodotto = tbl_prodotti.id
LEFT JOIN tbl_certificazione
ON tbl_certificazione.id = tbl_prodotti.rif_certificazione
WHERE tbl_prodotti.tipologia_prodotto = :tipologia_prodotto
AND disponibilita :disponibilita
GROUP BY tbl_prodotti.id
ORDER BY tbl_prodotti.id ASC"
Вот часть моего PHP-кода для разложения результата и его циклического просмотра:
$i = 0;
$totale = '';
$immagini = array();
$immagini = explode(',', $row['immagini']);
$totale = count($immagini);
while($i < $totale){
$html .= "";
$i++;
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... s-from-ano
MySQL-запрос для получения данных из таблицы продуктов и всех связанных фотографий из другой таблицы ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
График networkx получает группы связанных/связанных значений с несколькими значениями
Anonymous » » в форуме Python - 0 Ответы
- 54 Просмотры
-
Последнее сообщение Anonymous
-