Я прошу вас о помощи, пожалуйста.
У меня есть запрос, который я использовал для получения всех продуктов из основной таблицы, а при объединении он также извлекал соответствующие фотографии из другой таблицы. Проблема с этим запросом заключается в том, что он дублирует результат, когда я печатаю его на экране (насколько я понял, так и происходит, потому что для каждого продукта есть две фотографии). Я хотел бы распечатать каждый товар только один раз, но со всеми двумя фотографиями. Поискав в Интернете, я понял, что мне нужно как-то сгруппировать данные, но, честно говоря, я не так хорош. Как мне изменить этот запрос, чтобы достичь этой цели? Можете ли вы мне помочь, пожалуйста?
"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
Кемеровские программисты php общаются здесь
1710612438
Anonymous
Я прошу вас о помощи, пожалуйста.
У меня есть запрос, который я использовал для получения всех продуктов из основной таблицы, а при объединении он также извлекал соответствующие фотографии из другой таблицы. Проблема с этим запросом заключается в том, что он дублирует результат, когда я печатаю его на экране (насколько я понял, так и происходит, потому что для каждого продукта есть две фотографии). Я хотел бы распечатать каждый товар только один раз, но со всеми двумя фотографиями. Поискав в Интернете, я понял, что мне нужно как-то сгруппировать данные, но, честно говоря, я не так хорош. Как мне изменить этот запрос, чтобы достичь этой цели? Можете ли вы мне помочь, пожалуйста?
"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++;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/78168579/mysql-query-to-fetch-data-from-product-table-and-all-the-related-photos-from-ano[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия