Tutoriál PHP #4: Ako si vytvoriť aplikáciu pre výpočet BMI použitím funkcie s parametrami

Tutoriál PHP #4: Ako si vytvoriť aplikáciu pre výpočet BMI použitím funkcie s parametrami

Funkcie sa v PHP používajú pri väčších projektoch. V podstate ide o samostatné "mini programiky", ktoré môžu byť aj so vstupnými parametrami. Po zadaní vstupných parametrov funkcia vráti výsledok. Funkciu je možné opakovane volať z akéhokoľvek miesta v programe. Použitie funkcie si ukážeme pri tvorbe aplikácie na výpočet BMI.
BMI je skratka výrazu Body Mass Index a v preklade znamená Index telesnej hmotnosti. Patrí medzi najviac využívané metódy merania obezity. Obezita je často definovaná ako nadmerné ukladanie tuku v organizme. Počíta sa prostredníctvom vzorca:
BMI hodnota = Hmotnosť v kg : (výška v m)2
BMI hodnota nie je celkom presná. Platí pre priemerného dospelého človeka. Neplatí pre deti, mládež do 18 rokov, tehotné ženy a športovcov. Presné číselné hodnoty vám môže vypočítať len lekár na základe vyšetrenia. Dôležitú úlohu zohráva aj obvod pásu, krvný tlak, cholesterol či dodržiavanie zdravej výživy. Čím je výsledok vyšší, tým je človek na svoju výšku ťažší. Za normálne hodnoty sa považujú čísla od 20 do 25 (zdroj: http://diva.aktuality.sk/bmi/).

Príklad pozostáva z formulára, v ktorom je potrebné zadať váhu, výšku a pohlavie, keďže hodnoty BMI sú pre ženy iné ako pre mužov. Následne definujeme funkciu s názvom BMI. Táto funkcia bude mať dva vstupné parametre, keďže funkcia BMI ich bude potrebovať pre výpočet. Vrátená hodnota bude číslo, predstavujúce hodnotu BMI. táto hodnota sa následne posúdi a pomocou podmienky vypíše príslušný oznam o nadváhe alebo normálnej váhe, či obezite. Takto vyzerá kód:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>funkcia s parametrom</title>
</head>
<body>


<form action="#" method="post">
	<label>zadajte hmotnosť [kg]</label><input type="text" name="hmotnost">
	<label>zadajte výšku [cm]</label><input type="text" name="vyska">
    <input type="radio" name="pohlavie" value="muz"><label>muž</label>
    <input type="radio" name="pohlavie" value="zena"><label>žena</label>
    <input type="submit" value="vyrachuj">
</form>


<?php

/*vstupné údaje z formulára*/
$vaha = $_POST['hmotnost'];
$vyska = $_POST['vyska'];
$pohlavie = $_POST['pohlavie'];

       
	/*definovanie funkcie na výpočet BMI*/
		   
	   function BMI ($vaha,$vyska) {
		  
		  return (round ($vaha/(($vyska*$vyska)/100),2))  *100;
	        
		  }

/*využitie funkcie na výpočet*/

$bmi = BMI($vaha,$vyska);
		  
     /*výpisy  výsledkov*/
	 
  if (isset($vaha) and isset($vyska) and isset($pohlavie))
	{    
		if(($bmi < 20) and ($pohlavie=="muz"))
		  {
		    echo "

Vaše BMI je $bmi, máte podváhu

"; } if(($bmi < 19) and ($pohlavie=="zena")) { echo "

Vaše BMI je $bmi, máte podváhu

"; } if(($bmi >= 20) and ($bmi <=24.9) and ($pohlavie=="muz")) { echo "

Vaše BMI je $bmi, máte normálnu váhu

"; } if(($bmi >= 19) and ($bmi <=23.9) and ($pohlavie=="zena")) { echo "

Vaše BMI je $bmi, máte normálnu váhu

"; } if(($bmi >= 25) and ($bmi <=29.9) and ($pohlavie=="muz")) { echo "

Vaše BMI je $bmi, máte nadáhu

"; } if(($bmi >= 24) and ($bmi <=28.9) and ($pohlavie=="zena")) { echo "

Vaše BMI je $bmi, máte nadváhu

"; } if(($bmi >= 30) and ($bmi <=34.9) and ($pohlavie=="muz")) { echo "

Vaše BMI je $bmi, máte obezitu I. stupňa

"; } if(($bmi >= 29) and ($bmi <=33.9) and ($pohlavie=="zena")) { echo "

Vaše BMI je $bmi, máte obezitu I. stupňa

"; } if(($bmi >= 35) and ($bmi <=39.9) and ($pohlavie=="muz")) { echo "

Vaše BMI je $bmi, máte obezitu II. stupňa

"; } if(($bmi >= 34) and ($bmi <=38.9) and ($pohlavie=="zena")) { echo "

Vaše BMI je $bmi, máte obezitu II. stupňa

"; } if(($bmi > 40) and ($pohlavie=="muz")) { echo "

Vaše BMI je $bmi, máte obezitu III. stupňa

"; } if(($bmi > 39) and ($pohlavie=="zena")) { echo "

Vaše BMI je $bmi, máte obezitu III. stupňa

"; } } else { echo "

Nezadali ste niektorý z údajov.

"; } ?> </body> </html>
Rubriky: