PHP仅在存在url参数的情况下使用url填充表单元素


PHP populate form element with url ONLY IF url parameter is present

我从一个标准的表单选择选项开始,它看起来像这样:

<option value="">All Locations</option>

我能够使用_get重新使用URL参数来从这样的值创建一个选项:&location=贝灵汉

<?php
$location = $_GET['location'];
?>
<option value='<?php echo $location; ?>'><?php echo $location; ?></option>

我如何使用PHP测试正在填充的位置值,如果是,使用我的_GET选项,如果不返回到我的标准表单选择?

您是否手动发送get请求中的位置?

尝试将所有位置放在一个表中,然后使用mysql

<?php
mysql_connect('hostname', 'username', 'password');
mysql_select_db('database-name');
$sql = "SELECT location_name FROM location";
$result = mysql_query($sql);
echo "<select name='location'>";
while ($row = mysql_fetch_array($result)) {
    echo "<option value='" . $row['location_name'] . "'>" . $row['location_name'] . "</option>";
}
echo "</select>";
?>

我不能100%确定你的意思,但与我最初的答案相比,这些似乎更有逻辑性。。。

<form>
    <select>
        <option value="">All Locations</option>
        <?php if(isset($_GET['location']) && !empty($_GET['location'])):?>
        <option selected value='<?php echo $_GET['location']; ?>'><?php echo $_GET['location']; ?></option>
        <?php endif?>
    </select>
</form>

这就是你的意思吗?如果有不清楚的地方,可以随意提问。