ресурс для начинающих веб-разработчиков
комплексные веб-услуги по созданию сайтов

Справочный материал по основным языкам программирования и верстки сайтов.

Готовая методика создания простых и сложных динамичных сайтов, с использованием PHP и MySQL.

Использование веб-редактора Adobe Dreamweaver в разработке сайтов.

Использование графических редакторов Adobe Flash, Adobe Photoshop, Adobe Fireworks в подготовке веб-графики.

Разработка веб-сайтов под "ключ".

Разработка отдельных фрагментов сайтов, консультации по вопросам верстки веб-страниц и веб-программирования.

Использование операций: вычисление итоговых сумм для формы

Использование операций

Теперь, когда мы знаем, как пользоваться операциями РНР, можно вычислить итоговую сумму и сумму НДС для формы заказа компании АВС.

Для этого в нижнюю часть разрабатываемого РНР-сценария необходимо добавить следующий код:

$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>
<html>
<head>
<meta charset="utf-8">
<title>Компания АВС. Результаты заказа</title>
</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;

Итог кажется правильным, но почему умножение выполнялось перед сложением? Это обусловлено приоритетом операций, т.е. порядком их выполнения.