网站:http://macrorevolution.com/calculators/tdee/ 嘿,我正在尝试创建一个简单的计算器,但遇到了一些问题。
首先,我的HTML选择表单似乎没有任何效果。我的目标是让select输入更改$ activelevel的值。例如,如果用户选择“重度锻炼”,那么1.9的 $ activelevel 将应用于我的公式。
其次,我想加粗输出$ answer。我试过做:
<?php echo "<b>".$answer."</b>" ?>
和<?php echo <span class="bold">$answer</span> ?>
但他们都失败了。我认为这是因为它们在value=' '
?
最后,即使我设置border =“1”,我的上一个表怎么没有可见的边框?
<?php
$answer = "";
$agev = "";
$feetv = "";
$inchesv = "";
$weightv = "";
$sex = "";
$activelevel = "";
if(isset($_POST['agev']) && isset($_POST['feetv']) && isset($_POST['inchesv']) && isset($_POST['weightv']) && isset($_POST['sex'])) {
//&& isset($_POST['activelevel'])
$agev = $_POST['agev'];
$feetv = $_POST['feetv'];
$inchesv = $_POST['inchesv'];
$weightv = $_POST['weightv'];
$sex = $_POST['sex'];
$activelevel = $_POST['activelevel'];
$totalheightv = $inchesv + ($feetv*12);
$heightcm = $totalheightv*2.54;
$weightkg = $weightv/2.2;
echo $activelevel;
if($activelevel=='1v') $activelevel=1.2;
else if($activelevel=='2v') $activelevel=1.375;
else if($activelevel=='3v') $activelevel=1.55;
else if($activelevel=='4v') $activelevel=1.725;
else if($activelevel=='5v') $activelevel=1.9;
else echo "error";
//echo $activelevel;
if($sex=='male') $answer = $activelevel * (66.47 + (13.75*$weightkg) + (5*$heightcm) - (6.75*$agev));
if($sex=='female') $answer = $activelevel * (665.09 + (9.56*$weightkg) + (1.84*$heightcm) - (4.67*$agev));
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" >
<title>Total Daily Energy Expenditure</title>
<style type="text/css">
.bold {
font-weight:bold;
}
</style>
<style>
table {
font-size:14px;
font-family: 'PT Sans', sans-serif;
background-color:#FFFFFF;
}
tr.spaceUnder > td
{
padding:0em 1em 1em 0em;
}
p.ss {
font-size:30px;
text-align:center
}
input {
margin-right:5px;
margin-left:5px;
}
</style>
</head>
<body>
<div class="box pt20">
<p class="ss">MacroRevolution TDEE Calculator</p><br>
<table width='80%' style="margin: 0 auto;">
<tr class="spaceUnder">
<td colspan="4">
TDEE = Total Daily Energy Expenditure. TDEE is the amount calories your body burns in a 24 hour period which includes eating, sleeping, excercising, and working.
</td>
</tr>
</table>
<form method='post' action=''>
<table width='80%' style="margin: 0 auto;">
<tr class="spaceUnder">
<td>Age:</td>
<td><input type='text' name='agev' value="<?php echo $agev; ?>"/>Years</td>
</tr>
<tr class="spaceUnder">
<td>Height:</td>
<td align="justify"><input type='text' name='feetv' value="<?php echo $feetv; ?>"/>Ft
<input type='text' name='inchesv' value="<?php echo $inchesv; ?>"/>In</td>
</tr>
<tr class="spaceUnder">
<td>Weight:</td>
<td align="left"><input type='text' name='weightv' value="<?php echo $weightv; ?>"/>lbs</td>
</tr>
<tr class="spaceUnder">
<td colspan="2"><input type='radio' name='sex' value='male'>Male
<input type='radio' name='sex' value='female'>Female</td>
</tr>
<tr class="spaceUnder">
<td colspan="2">
<select>
<option name='activelevel' value='1v'>Little or no Excercise / Desk job</option>
<option name='activelevel' value='2v'>Light exercise / Workout 1-3 days/week</option>
<option name='activelevel' value='3v'>Moderate exercise / Workout 3-5 days/week</option>
<option name='activelevel' value='4v'>Heavy exercise / Workout 6-7 days/week</option>
<option name='activelevel' value='5v'>Very heavy exercise / Physical job / Workout 2 times a day</option>
</select>
</td>
</tr>
<tr class="spaceUnder">
<td colspan="2"><input type='submit' class="button highlight small" value='Calculate'/></td>
</tr>
<tr class="spaceUnder">
<td colspan="2">Your TDEE is <input type='text' style="width: 50px;" value='<?php echo $answer?>' /><strong>k/cal per day</strong> </td>
</tr>
</table>
</form>
<table border='0' width='80%' style="margin: 0 auto;">
<td colspan="4">
TDEE = BMR x Activity Level <br>
Where the formula for BMR(Harris-Benedict formula) is <br><br>
Men: BMR=66.47+ (13.75 x W) + (5.0 x H) - (6.75 x A) <br>
Women: BMR=665.09 + (9.56 x W) + (1.84 x H) - (4.67 x A) <br><br>
W = Weight in kilograms (lbs/2.2)<br>
H = Height in centimeters (inches x 2.54)<br>
A = Age in years <br><br><br>
<table border="1" width='500px'>
<tr>
<th>Amount of Activity</th>
<th>Description</th>
<th>TDEE Activity Level</th>
</tr>
<tr>
<td>Sedentary</td>
<td>Little or no Excercise / Desk job</td>
<td>1.2</td>
</tr>
<tr>
<td>Lightly Active</td>
<td>Light exercise / Workout 1-3 days/week</td>
<td>1.375</td>
</tr>
<tr>
<td>Moderately Active</td>
<td>Moderate exercise / Workout 3-5 days/week</td>
<td>1.55</td>
</tr>
<tr>
<td>Very Active</td>
<td>Heavy exercise / Workout 6-7 days/week</td>
<td>1.725</td>
</tr>
<tr>
<td>Extremely Active</td>
<td>Very heavy exercise / Physical job / Workout 2 times a day</td>
<td>1.9</td>
</tr>
</table>
<br><br><br>
</td>
</table>
</div>
</body>
</html>
答案 0 :(得分:2)
您需要为<select>
标记添加名称,如下所示
<select name="activelevel">
<option value='1v'>Little or no Excercise / Desk job</option>
<option value='2v'>Light exercise / Workout 1-3 days/week</option>
<option value='3v'>Moderate exercise / Workout 3-5 days/week</option>
<option value='4v'>Heavy exercise / Workout 6-7 days/week</option>
<option value='5v'>Very heavy exercise / Physical job / Workout 2 times a day</option>
</select>
而不是
<select>
<option name='activelevel' value='1v'>Little or no Excercise / Desk job</option>
<option name='activelevel' value='2v'>Light exercise / Workout 1-3 days/week</option>
<option name='activelevel' value='3v'>Moderate exercise / Workout 3-5 days/week</option>
<option name='activelevel' value='4v'>Heavy exercise / Workout 6-7 days/week</option>
<option name='activelevel' value='5v'>Very heavy exercise / Physical job / Workout 2 times a day</option>
</select>
答案 1 :(得分:0)
您的选择输入需要设置名称。考虑:
<select name="activelevel">
<option value='1v'>Little or no Excercise / Desk job</option>
<option value='2v'>Light exercise / Workout 1-3 days/week</option>
<option value='3v'>Moderate exercise / Workout 3-5 days/week</option>
<option value='4v'>Heavy exercise / Workout 6-7 days/week</option>
<option value='5v'>Very heavy exercise / Physical job / Workout 2 times a day</option>
</select>
您可以通过设置输入框的字体粗细样式将答案设置为粗体。
<input type='text' style="width: 50px;font-weight:bold;" value='<?php echo $answer?>' />
您的表格边框由文件style.css设置为:
table {
border-collapse: collapse;
border-spacing: 0;
}