Я не могу понять, как сделать оператор SELECT, который группирует продукты и отображает продукты под одним типом продукта.
У меня есть таблица с названиями этажей, содержащая 15 различных продуктов для полов, и таблица с именами цветов, содержащая 8 различных типов продуктов (ftid) и изображение продукта.
Каждый из 15 продуктов имеет тип floortype, который определяет, какой это тип. Некоторые из продуктов почти одинаковы, но с разными измерениями, но это дает продуктам другое описание.
Пример:
Product: Product 1 Product type: 1
Product: Product 2 Product type: 1
Product: Product 3 Product type: 2
Product: Product 4 Product type: 2
Product: Product 5 Product type: 3
Product: Product 6 Product type: 4
Я хочу, чтобы продукты отображались в группе продуктов с 1 изображением продукта
Producttype 1 image
Product 1 description
Product 2 description
Producttype 2 image
Product 3 description
Product 4 description
Producttype 3 image
Product 5 description
Producttype 4 image
Product 6 description
Надеюсь, кто-нибудь сможет мне помочь!
EDIT
Я использовал ваш первый пример, который работает без нареканий.
Это мой окончательный код:
$sql = SQLHandling::SQLquery("SELECT A.fid, A.floorname, A.desc_dk, A.floortype, B.prodimage, GROUP_CONCAT(A.desc_dk SEPARATOR '|') AS descr, GROUP_CONCAT(A.floorname SEPARATOR '|') AS fname FROM floors A JOIN floortypes B ON A.floortype = B.ftid GROUP BY A.floortype, B.prodimage");
а затем мой цикл while:
$counter = 0;
while($row = mysql_fetch_array($sql)) {
$delimiter = "|";
$descr = explode($delimiter, $row["descr"]);
$fname = explode($delimiter, $row["fname"]);
$markers["###FLOOR###"] .= '<div style="float: left; width: 200px; height: 425px; margin: 0px 10px 0px 10px; vertical-align: text-top; text-align: left;">';
$markers["###FLOOR###"] .= '<p><a href="index.php?page=sfp&room='. $_GET["room"] .'&floor='. $row["floorname"] .'&wall='. $_GET["wall"] .'&envi='. $_GET["envi"] .'&fpanel='. $_GET["fpanel"] .'"><img src="images/floors/'. $row["prodimage"] .'.jpg" width="200" /></a></p>';
for ($i = 0; $i < count($descr); $i++) {
$markers["###FLOOR###"] .= '<p><a href="index.php?page=sfp&room='. $_GET["room"] .'&floor='. $fname[$i] .'&wall='. $_GET["wall"] .'&envi='. $_GET["envi"] .'&fpanel='. $_GET["fpanel"] .'">'. $descr[$i].'</a></p>';
}
$markers["###FLOOR###"] .= '</div>';
if (++$counter % 4 == 0) {
$markers["###FLOOR###"] .= '<div style="clear: both;"> </div>';
}
}
дает мне именно то, что я искал!