0
まずで使用された回数に応じて、変数を追加します:私が作るしようとしています私は私のコードを提供します...それは、foreachのすべての
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt1 = $conn->prepare("SELECT reference, price FROM ps_product_attribute WHERE id_product = ". implode(' AND ', $_POST['checkbox']) ."");
$stmt1->execute();
$product = $stmt1->fetchAll();
// Get Product Price
$stmt2 = $conn->prepare("SELECT * FROM ps_product WHERE id_product = ". implode(' AND ', $_POST['checkbox']) ."");
$stmt2->execute();
$productPrice = $stmt2->fetchAll();
foreach ($productPrice as $rowPrice) {
foreach ($product as $row) {
$Price = $rowPrice['price'] + $row['price'];
$NET = $Price;
$VAT = $Price * 0.2;
$Total = $Price + $VAT;
print '<tr>';
print '<td>'. $row['reference'] .'</td>';
print '<td>Product Name</td>';
print '<td>'. $quantity .'</td>';
print '<td>£'. number_format((float)$Price, 2, '.', '') .'</td>';
print '</tr>';
}
}
echo '
<tr>
<td style="border: 0;"></td>
<td style="border: 0;"></td>
<td><p style="font-weight: bold; float: right;">NET Amount</p></td>
<td><p style="float: right;">£'. number_format((float)$NET, 2, '.', '') .'</p></td>
</tr>
<tr>
<td style="border: 0;"></td>
<td style="border: 0;"></td>
<td><p style="font-weight: bold; float: right;">VAT</p></td>
<td><p style="float: right;">£'. number_format((float)$VAT, 2, '.', '') .'</p></td>
</tr>
<tr>
<td style="border: 0;"></td>
<td style="border: 0;"></td>
<td><p style="font-weight: bold; float: right;">Total</p></td>
<td><p style="float: right;">£'. number_format((float)$Total, 2, '.', '') .'</p></td>
</tr>
';
}
catch(PDOException $e) {
echo "Error: " . $e->getMessage();
}
$conn = null;
変数$ NETは、しかし、と等しくなります多くの行が価格で返されます。たとえば、id_productが8の場合、2つの製品£18.95と£21.00が返されます。現在、$ NETは£21.00に設定されていますが、£39.95です。