ساخت ماشین حساب BMI (شاخص توده بدنی) با php

به نام خداوند مهربان .قبل از هر چیزی باید بدونیم که فرمول حساب کردن شاخص توده بدنی (BMI) چیست وزن / قد(متر) به توان 2مثال:وزن = 70قد = 1.77 ===به توان 2===> 3.1329BMI = 70 / 3.1329خب بریم سراغ کدنویسی ----------------------------->قبل از هر چیزی باید یک فرم html برای دریافت اطلاعات از کاربر بسازیم .<div class=&quotsite-section bg-light&quot id=&quotcontact-section&quot> <div class=&quotcontainer&quot> <div class=&quotrow justify-content-center&quot> <div class=&quotcol-md-7&quot> <div class=&quotpt-5&quot> <div class=&quotcomment-form-wrap pt-5&quot> <h3 style=&quottext-align: center;&quot class=&quotmb-5&quot>ماشین حساب BMI</h3> <form method=&quotPOST&quot class=&quotp-5 bg-light&quot> <div class=&quotform-group&quot> <label for=&quotname&quot>قد (متر)</label> <input required type=&quottext&quot dir=&quotltr&quot placeholder=&quot1.75&quot name=&quotqad&quot class=&quotform-control&quot id=&quotname&quot> </div> <div class=&quotform-group&quot> <label for=&quotname&quot>وزن (کیلوگرم)</label> <input required type=&quottext&quot dir=&quotltr&quot placeholder=&quot75&quot name=&quotvazn&quot class=&quotform-control&quot id=&quotname&quot> </div> <div class=&quotform-group&quot> <input type=&quotsubmit&quot name=&quotok&quot value=&quotدریافت نتیجه&quot class=&quotbtn btn-primary&quot> </div> </form> </div> </div> </div> </div> </div> </div>حالا باید بریم سراق کنترلرمون و کد های اون بخش را بنویسیم .<?php class BMI { function calculator($vazn, $qad) { $number = $vazn / ($qad * $qad); return $number; } function vaziat($number) { if ($number < 18.5) { $mahdoode = 'کمبود وزن'; } if ($number > 18.5 and $number <= 25) { $mahdoode = 'وزن ایده آل'; } if ($number > 25 and $number <= 30) { $mahdoode = 'اضافه وزن'; } if ($number > 30 and $number <= 35) { $mahdoode = 'چاقی نوع ۱'; } if ($number > 35 and $number <= 40) { $mahdoode = 'چاقی نوع ۲'; } if ($number > 40) { $mahdoode = 'چاقی نوع ۳ (بیمارگونه)'; } return $mahdoode; } function goodman($qad) { if ($qad > 152) { $ideal = (($qad - 152) * 1.1) + 48; } else { $ideal = (-(152 - $qad) * 1.1) + 48; } return $ideal; } function goodwoman($qad) { if ($qad > 152) { $ideal = (($qad - 152) * 1.1) + 43; } else { $ideal = (-(152 - $qad) * 1.1) + 43; } return $ideal; } }یک کلاس ساختیم که داخلس چهار تا متد وجود داره ، حالا بیاید بررسی کنیم هر کدوم از این متدا چیکار می کنن .متد اول :calculator()این متد میاد با توجه به دوتا ورودی که داره ( قد ، وزن ) ، BMI (شاخص توده بدنی) را با همون فرمولی که بالا نوشتم محاسبه می کنه .متد دوم : vaziat()همون طور که از اسمش مشخصه با توجه به فیلتر خود BMI مشخص می کنه که وزن کاربر در چه محدوده ای قرار داره و در آخر وضعیت را از تابع return می کند .متد سوم :goodman()این متد محاسبه می کنه که وزن مناسب برای مرد باتوجه به (قد) ورودی کاربر چقدره .متد چهارم :goodwoman()این متد محاسبه می کنه که وزن مناسب برای خانم باتوجه به (قد) ورودی کاربر چقدره .حالا می رسیم به قسمت دریافت اطلاعات از سرور و نمایش آن .ابتدا از کلاس BMI که ساختیم یک شی جدید تعریف می کنیم ، سپس با گذاشتن شرط ، اطلاعات را از کاربر گرفته و متد ها را فراخانی می کنیم .تابع ()round که نوشتم کارش چیه ؟وقتی ما BMI رو حساب کردیم بعد عدد خروجی را میدیم به تابع ()round ، تابع () round میاد عدد رو میگیره و تا 1 یک رقم اعشار نمایش میده همونطور که ماخودمون تو آرگومان دومش نوشتیم 1 .مثلا اگر به جای 1 ، x میزاشتیم توی خروجی تا x رقم اعشار نمایش میداد .مثلا عدد ما اینه : 21.65564564وقتی میدیمش به تابع round :echo round( 21.65764564,3);==================> 21.658بعد متدهای دیگه رو صدا زدیم و دونه دونه توی خروجی نمایششون دادیم .موفق و پیروز باشید .مهدی مومنی برای پرسیدن سوال های php خود و حل مشکلاتتان به گروه انجمن php ایران بپیوندید .https://t.me/IR_PHP_Developers_Communityکانال انجمن :https://t.me/IR_PHP_Dev_Community_channel