2017-09-26 6 views
0

私はフォーム&を持っており、アイコンをクリックすることで合計を計算することができます。私は同じページに泊まるために$_SERVER['PHP_SELF']を使います。
金額はオプション項目から選択することができます。私の問題は今です:ユーザーがf.e.を選択した場合。 '20'を量として、彼はアイコンをクリックして和を求め、オプションフィールドで選択された '20'をどのように表示するのですか?ここ
私のコード:

<?php 
if(isset($_POST['lvl4order'])){ 
$lvl4ord = $_POST['lvl4order']; 
} ?>   

これは私が持っている最高のソリューションですが、オプション値の2行でdouble型の値を示しています。

<form name="calculation" method="post" action="<?php echo $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING']; ?>"> 
<table> 
<td> 
<?php 
if ($product['lvl4'] > 1) 
    { 
    echo "<select name='lvl4order'>"; 
$span = range(1,$product['lvl4']); 
    foreach ($span as $range) { 
    $txt = $range == 1 ? 'Box' : 'Boxes'; 
    echo "<option value='$range' >$range $txt</option>"; 
    echo "<option selected='selected'>$lvl4ord</option>"; 
    if (++$range == 50) break; 
} 
echo "</select>"; 
} 
else {} 
?> 
</td> 
<td><INPUT TYPE="image" SRC="../images/calculator.png" NAME="calc"> 
</td> 
    </table></form>   

私はこのような何かをしようとし、そうでありません仕事:

echo "<option value='$range' if($range= '$lvl4ord'){ selected='selected'} >$range $txt</option>";  

この問題を解決するにはどうすればよいですか?ありがとうございました。

答えて

0

あなたの構文はすべて間違っています。 echoの真ん中にifステートメントを置くことはできません。三項式を使用する必要があります。 =ではなく、==を使用して比較する必要があります。また、変数を単一引用符で囲むと評価されません。

echo "$ range $ txt";

+0

私は自分のコードをクリーンアップする必要があることを知っています(==、一重引用符なしの変数と比較してください)。しかし、テスト中やテスト環境では、実行中です。 私が投稿したコードの最後の行は、1行ですべてを統合するための「試行」です。書いたように、それは動作しません(エコーの内部ならば)。私は三項表現でそれを試してみましょう。 – george

関連する問題