В каждой строке таблицы выводится новый товар и соответственно input для выбора количества товаров.
Написан скрипт для получения цены с учётом количества товаров, но работает он только для первой строки таблицы:(
id не использую, тогда почему так???
$sql = "SELECT id, name, category, price, opisanie, file FROM goods";
$result = mysqli_query($link, $sql);
while($row = mysqli_fetch_assoc($result)){
$itog = $itog + $row['price'];
echo ' <tr>
<td><img src="../img/'.$row['file'].'" class="group1" style="width: 100px;"/> </td>
<td><span class="textkor">'.$row['name'].'</span></td>
<td><span class="textkor" ><span class="priceValue">'.$row['price'].'</span>₽</span></td>
<td><button class="button-minus">-</button>
<input onChange="change()" type="number" value="1" class="totalItems" min="1" max="200">
<button class="button-plus">+</button></td>
</tr>
<script>
//цена товара
let itemPrice = '.$row['price'].';
let priceValue = document.querySelector(".priceValue");
let plusBtn = document.querySelector(".button-plus");
let minusBtn = document.querySelector(".button-minus");
let totalItems = document.querySelector(".totalItems");
//Обработчик нажатия на плюс
plusBtn.addEventListener("click", () =>{
totalItems.value++ && change();
});
//Обработчик нажатия на минус
minusBtn.addEventListener("click", () => {
totalItems.value-- && change();
});
// изменение .priceValue при изменении в input
const change = () => {
totalItems.value < 1 && (totalItems.value = 1);
priceValue.textContent = itemPrice * totalItems.value;
}
</script> ';
}