我有一个表格&表格,用户可以通过单击图标来计算总和。为了保持同一页面,我使用$_SERVER['PHP_SELF']
。
可以从选项字段中选择金额。我现在的问题是:如果用户选择f.e. ' 20'作为金额,他点击图标并得到总和计算,如何显示然后' 20'在选项栏中选择?
这里我的代码:
<?php
if(isset($_POST['lvl4order'])){
$lvl4ord = $_POST['lvl4order'];
} ?>
这是我的最佳解决方案,但在选项值中显示两行中的两倍:
<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 :(得分:0)
你的语法都错了。您无法在if
的中间放置echo
语句,您需要使用三元表达式。您必须使用==
进行比较,而不是=
。如果你把一个变量放在单引号中,它就不会被评估。
echo&#34; $ range $ txt&#34 ;;