1

私は自分のウェブサイト用の計算機を構築しています。それらは表面積タイプの計算機であり、1 つのメトリックと 1 つのメトリックが必要です。私のページで 2 つの電卓を使用する必要はありません。代わりに、フォームの上部にラジオ ボタンを作成し、ユーザーにメトリックまたは us をクリックして適切なコードを生成させたいと考えています。これを行うにはどうすればよいですか?私はPHPを使い始めたばかりなので、この質問に簡単な解決策がある場合はお詫び申し上げます。

これが私のコードです:

<?php
if (isset($_POST['dia'])) $dia = $_POST['dia'];
if (isset($_POST['wt'])) $wt = $_POST['wt'];
if (isset($_POST['L'])) $L = $_POST['L'];
if (isset($_POST['num'])) $num = $_POST['num'];
if (isset($_POST['waste'])) $waste = $_POST['waste'];
$answer1 = 3.14 * ($dia / 100) * $L * $num ;
$answer2 = 3.14 * (($dia + ($wt * 2)) / 100) * $L * $num;
$answer = ($answer1 + $answer2) * $waste / 200;

echo <<<_END
<form method='post' action='http://www.launchrun.com/consealtest/ConBlockMIC-circ-  metric.php'>
<table border='0' width='500px' cellpadding='3' cellspacing='1' class="table">
<tr class="calcheading"><td colspan="2"><strong>ConBlock MIC Circular Surface    Area</strong></td></tr>
<tr class="calcrow"><td>Diameter (cm):</td><td align="center"><input type='text' name='dia' value="$dia"/></td></tr>
<tr class="calcrow2"><td>Wall Thickness (cm):</td><td align="center"><input type='text' name='wt' value="$wt"/></td></tr>
<tr class="calcrow"><td>Section Length (meters):</td><td align="center"><input type='text' name='L' value="$L"/></td></tr>
<tr class="calcrow"><td>Number of Sections:</td><td align="center"><input type='text' name='num' value="$num"/></td></tr>
<tr class="calcrow"><td>Waste Variance (%):</td><td align="center"><select name='waste'  value="$waste"/>
<option value="1.05" >0%</option>

  <option value="1.05" >5%</option>

  <option value="1.1" >10%</option>

  <option value="1.2" >20%</option>

  <option value="1.25" >25%</option>

  </select></td></tr>
<tr class="submit"><td colspan="2"><input type='submit' value='Calculate'/></td></tr>
_END;
?>

<tr class="calcrow">
<td><i>Interior Coating (sq ft):</td>
<td align="center"><input type="text" value="<?php echo round($answer1, 2)?>"></td></i>
</tr>
<tr class="calcrow">
<td><i>Exteror Coating (sq ft):</td>
<td align="center"><input type="text" value="<?php echo round($answer2, 2)?>"></td></i>
</tr>
<tr class="calcrow">
<td><i>Total Gallons of ConBlock MIC needed:</td>
<td align="center"><input type="text" value="<?php echo round($answer, 2)?>"></td></i>
</tr>
</table>
</form>

上記でわかるように、特定の方程式にそれぞれの答えがあります。米国の方程式は、#100 を #12 に置き換えるだけです。誰か助けてくれたり、正しい方向に向けてくれたりできますか? どうもありがとう。

4

1 に答える 1

0

ラジオ ボタンやドロップダウン、またはユニットのセレクターとして選択したものを追加すると、その値がフォームの残りの部分と共に投稿されます。次に、その値を取得し、それを使用して分母がどうあるべきかを決定できます。

例えば:

<label><input type="radio" name="units" value="US" checked="checked" />US</label>
<label><input type="radio" name="units" value="Metric" />Metric</label>

次に、PHP コードを調整できます。

if (isset($_POST['units'])) $units = $_POST['units'];
...
$denom = ($units == "US" ? 12 : 100); // if $units equals "US", use 12, else 100
$answer1 = 3.14 * ($dia / $denom) * $L * $num ;
$answer2 = 3.14 * (($dia + ($wt * 2)) / $denom) * $L * $num;
...

もう 1 つの提案は、 の値をハードコーディングしないことですpi。PHP は、よりもpi()はるかに近い近似値を返す関数を提供します。これにより、計算の精度が向上します (定数 も使用できることに注意してください)。pi3.14M_PI

$answer1 = pi() * ($dia / $denom) * $L * $num ;
$answer2 = pi() * (($dia + ($wt * 2)) / $denom) * $L * $num;
于 2013-07-30T17:57:58.297 に答える