У меня есть таблица с именем invoiceItems. Он содержит отдельные строки счета. Имеет следующие поля:
Я хочу запросить базу данных и выбрать все invoiceItems с определенным номером счета. Затем я хочу отобразить различные vatRates, которые указаны в этом счете, и общую сумму НДС на vatRate.
Например, если результаты были:
Я хотел бы повторить:
СЧЕТ № 17
НДС 6%: € 6
НДС 12%: € 6
НДС 21%: € 21
$sql = "SELECT * FROM invoiceItems WHERE invoiceId = ’17’”;
$query = $connect->query($sql);
$result = $query->fetch_assoc();
Я знаю, что я должен просмотреть результаты тогда, но я немного застрял …
Использовать ГРУППА ПО а также SUM операторы встраиваются в SQL.
$sql = "SELECT vatRate, SUM(quantity * price * vatRate) as total FROM invoiceItems WHERE invoiceId = ’17’ GROUP BY vatRate”;
$query = $connect->query($sql);
while($result = $query->fetch_assoc()) { // Fetch for each vatrate
// do what you want to do with the vats
// use $result["vatRate"] and $result["total"]
}
Цикл while это то, что вы ищете http://php.net/manual/en/control-structures.while.php
Вы можете тогда
while ($row = $query->fetch_assoc($result)) {
//print you stuff here
}
Проверьте примеры в документах http://php.net/manual/en/mysqli-result.fetch-assoc.php