1

在我一直在研究的平板电脑站点中使用 PHP 获取变量时遇到问题。我在主页上有一个将变量传递给列表页面的搜索表单。然后,我在“优化搜索”对话框中有相同的搜索表单,该对话框应该使用 PHP 根据传递的内容预先选择适当的值。

问题是我似乎无法获取已传递的变量(使用 PHP)。例如,我的搜索中有这个字段:

<select name="propertyType" id="propertyType">
        <option value="">Any Type</option>
        <option value="1"<?php if(isset($_GET['propertyType']) && $_GET['propertyType']=="1") { echo ' selected'; } ?>>Houses</option>
        <option value="2"<?php if(isset($_GET['propertyType']) && $_GET['propertyType']=="2") { echo ' selected'; } ?>>Flats/Apartments</option>
        <option value="3"<?php if(isset($_GET['propertyType']) && $_GET['propertyType']=="3") { echo ' selected'; } ?>>Bungalows</option>
        <option value="4"<?php if(isset($_GET['propertyType']) && $_GET['propertyType']=="4") { echo ' selected'; } ?>>Other</option>
    </select>

但是,当我传递任何这些值时,我的代码不会拾取它们并回显相关的“选定”。

平板电脑站点可以在这里找到:http: //muskermcintyre.co.uk/tablet任何帮助将不胜感激!

谢谢。

4

2 回答 2

1

我建议您遵循以下语法:

<?php
    $values  = array(
        0 => 'Any Type',
        1 => 'Houses',
        2 => 'Flats/Apartments',
        3 => 'Bungalows',
        4 => 'Other'
    );
    $current = (int) $_GET['propertyType'];
?>

<select name="propertyType" id="propertyType">
<?php
    foreach ( $values as $key => $value ) {
        $selected = $key == $current ? 'selected="selected"' : '';
        echo "<option value='$key' $selected >$value</option>";
    }
?>
</select>
于 2012-07-24T10:57:53.157 回答
0

我过去遇到过类似的问题,并通过使用 Javascript/jQuery 获取查询字符串来解决它。

快速搜索给了我这个,如果你走类似的路线,这可能会对你有所帮助:

如何在 JavaScript 中获取查询字符串值?

于 2012-07-26T16:32:11.757 回答