Теперь, когда мы знаем, как пользоваться операциями РНР, можно вычислить итоговую сумму и сумму НДС для формы заказа компании АВС.
Для этого в нижнюю часть разрабатываемого РНР-сценария необходимо добавить следующий код:
$totalqty = 0;
$totalqty = $filtr + $filtr_v + $sparkqty;
echo 'Заказано товаров:'.$totalqty. '<br>';
$totalamount = 0.00;
$totalamount = $filtr * FILTRPRICE
+ $filtr_v * FILTRVPRICE
+ $sparkqty * SPARKPRICE;
echo 'Итого:'.number_format($totalamount,2). 'RUB<br>';
$ndc = 0.18; //Налог НДС составляет 18%
$totalamount = $totalamount * (1 + $ndc);
echo 'Всего, включая НДС:'.$totalamount. 'RUB<br>';
<?php
//создаем короткие имена переменным
$filtr = $_POST['filtr'];
$filtr_v = $_POST['filtr_v'];
$sparkqty = $_POST['sparkqty'];
//Объявляем константы
define ('FILTRPRICE', 20);
define ('FILTRVPRICE', 10);
define ('SPARKPRICE', 4);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Компания АВС. Результаты заказа</title>
<link href="../../svd.css" rel="stylesheet" type="text/css">
</head>
<body>
<h2>Компания АВС</h2>
<h3>Результаты заказа</h3>
<?php
echo "<p>Заказ обработан в ";
echo date('H:i, j F');
echo "</p>";
echo "<p>Список вашего заказа:</p>";
echo $filtr. " - фильтр масляный <br>";
echo $filtr_v. " - фильтр воздушный<br>";
echo $sparkqty. " - свечи зажигания <br>";
$totalqty = 0;
$totalqty = $filtr + $filtr_v + $sparkqty;
echo 'Заказано товаров:'.$totalqty. '<br>';
$totalamount = 0.00;
$totalamount = $filtr * FILTRPRICE
+ $filtr_v * FILTRVPRICE
+ $sparkqty * SPARKPRICE;
echo 'Итого:'.number_format($totalamount,2). 'RUB<br>';
$ndc = 0.18; //Налог НДС составляет 18%
$totalamount = $totalamount * (1 + $ndc);
echo 'Всего, включая НДС:'.$totalamount. 'RUB<br>';
?>
</body>
</html>
Откроем веб-страницу с формой, зполним ее и нажмем кнопку Отправить заказ.
В окне веб-браузера это будет выглядеть ТАК.
Как видите в этом фрагменте кода используется несколько операций. Операции сложения (+) и умножения (*) применяются для вычисления итоговых значений, а операция конкатенации строк (.) — для подготовки вывода в окне веб-браузера.
Кроме того, с помощью функции number_format() итоговые суммы были сформированы и представлены в виде строк с двумя десятичными разрядами. Упомянутая функция входит в состав РНР-библиотеки математических функций.
Если вы внимательно проанализируете вычисления, то у вас, возможно, возникнет вопрос, почему для них был выбран именно такой порядок. Например, рассмотрим следующий оператор:
$totalamount = $filtr * FILTRPRICE
+ $filtr_v * FILTRVPRICE
+ $sparkqty * SPARKPRICE;
Итог кажется правильным, но почему умножение выполнялось перед сложением? Это обусловлено приоритетом операций, т.е. порядком их выполнения.