当我使用get方法提交表单时,我使用for循环编写此代码以打印价格值高达10000,URL中显示max_price的值。 现在我想在用户刷新我尝试获取它的页面时选择URL中的值但是我没有成功。对此有什么解决方案吗?
<select name="max_price" id="max_price">
<option value="">Max Price</option>
<?php for($maximum=50;$maximum<=10000;$maximum=$maximum+500){ $price=($maximum)*(1000);?>
<option value="<?php echo $price;?>" <?php if(isset($_GET['max_price'])){ if ($_GET['max_price']==(($price)){?> selected <?php } }?>><?php echo "$".$maximum."K";?> </option> <?php } ?>
</select>
答案 0 :(得分:2)
你可以试试这个:
<select name="max_price" id="max_price">
<option value="">Max Price</option>
<?php
for($maximum=50;$maximum<=10000;$maximum=$maximum+500)
{ $price=($maximum)*(1000);
echo "<option value=\"echo $price;\"";
if(isset($_GET['max_price']))
{ if ($_GET['max_price']==$price)
echo " selected ";
}
echo ">$".$maximum."K</option>";
} ?>
</select>
此外,在你的来源,
这一行:if(isset($_GET['max_price']))
缺少关闭)括号。
答案 1 :(得分:0)
首先,考虑到您的问题,您(至少)扩展您的代码以提高可读性至关重要。这是因为,如果您的代码更具可读性,那么您将亲自解决问题.... 像您一样内联代码没有任何问题......它只是一个调试它的额外工作(如在当前场景中)。
<?php
$selOptions = "<select name='max_price' id='max_price'>" .PHP_EOL;
$selOptions .= "<option value=''>Max Price</option>" .PHP_EOL;
for($maximum=50; $maximum<=10000; $maximum+=500) {
$price = $maximum * 1000;
$selOptions .= "<option value='{$price}' ";
if (isset($_GET['max_price'])) {
if ($_GET['max_price'] == $price) {
$selOptions .= " selected=selected ";
}
}
$selOptions .= ">\${$maximum}K</option>" . PHP_EOL;
}
$selOptions .= "</select> " . PHP_EOL;
echo $selOptions;