根据php中的url值选择下拉值

时间:2017-09-19 11:43:32

标签: php

当我使用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>

2 个答案:

答案 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;