Так у меня выводится карточка товара с описанием:
<table align="center" style="border-width: 1; border-style: dashed" class="product" width="200" height="200">
<tr>
<td valign="top" align="center" cellpadding="5" cellspacing="5">
<div><a href="#"><img src="userfiles/<?=$product['image']?>" width="150" height="100" alt="" /></a></div>
<div class="description">
<div class="product-name"><a href="#"><?=$product['title']?></a></div>
<div class="product-price">Цена: <?=$product['price']?> руб</div>
</div>
</td>
<td valign="top">
<div><?=$product['description']?></a></div>
<form action="index.php" method="get">
<fieldset> Размер:
<input type="hidden" name="view" value="add_to_cart">
<input type="hidden" name="id" value="<?=$product['id']?>">
<select name="size">
<?php
$result = $link->query("SELECT size FROM sizes WHERE `sizes`.`id_boot`='$id' ");
while ($b = mysqli_fetch_assoc($result))
{
echo "<option value='".$b['size']."'>" .$b['size']. " </option>";
}
?>
</select></fieldset>
<input type=image src="userfiles/8.jpg" width="60" height="60" value="Добавить в корзину">
</form>
</td>
</tr>
</table>
Такой кейс:
case ('product'):
$id = $_GET['id'];
$product = get_product($id);
break;
И функция выборки товара:
function get_product($id)
{
global $link;
$query = ("SELECT * FROM products WHERE id='$id' ");
$result = mysqli_query($link, $query);
if ($result)
{
$row = mysqli_fetch_array($result);
return $row;
}
}
Если в этой функции делаю тот код с left join, то и появляются та ошибка, которую привёл.
А по поводу БД и таблиц. У меня есть таблица products с описанием товаров, и есть таблица sizes, где через size_id идёт ассоциация с id продукта. В ней получается:
id size_id size
1 1 19
2 1 20
3 1 21
4 2 19
5 2 20
6 2 21
7 2 22
, где size_id это id ботинка. И в карточке товара выпадающим списком выводится у ботинка id=1 размеры 19-20, у ботинка id=2 размеры 19-22. Я додумался только до такого вывода размеров......