php - 使用 PHP 基于 URL 参数选择多个下拉菜单

标签 php html forms select multiple-select

根据 URL 参数为我的表单选择输出多个“选定”的最佳方法是什么?

在我的网址中,我可能有这些参数 &carBrand=1607191|Acura&carbrand=1607185|Alpha Romeo

但是当我提交 URL 时,唯一选择的选项是第二个。对于此表单,我需要通过 url 选择多个汽车选择。

    <?php $carBrand = !empty( $_GET['carBrand'] ) ? $_GET['carBrand'] : ''; ?>

    <select name="brands[]" id="selectBrands" class="form-control" multiple="multiple">
      <option value="1607191|Acura" <?php echo $carBrand == '1607191|Acura' ? 'selected' : ''; ?>>Acura</option>
      <option value="1607185|Alpha Romeo" <?php echo $carBrand == '1607185|Alpha Romeo' ? 'selected' : ''; ?>>Alpha Romeo</option>
      <option value="1607197|Aston Martin" <?php echo $carBrand == '1607197|Aston Martin' ? 'selected' : ''; ?>>Aston Martin</option>
      <option value="1607188|Audi" <?php echo $carBrand == '1607188|Audi' ? 'selected' : ''; ?>>Audi</option>
      <option value="1607200|BMW" <?php echo $carBrand == '1607200|BMW' ? 'selected' : ''; ?>>BMW</option>
      <option value="1607194|Bentley" <?php echo $carBrand == '1607194|Bentley' ? 'selected' : ''; ?>>Bentley</option>
      <option value="1607203|Bugatti" <?php echo $carBrand == '1607203|Bugatti' ? 'selected' : ''; ?>>Bugatti</option>
      <option value="1607206|Buick" <?php echo $carBrand == '1607206|Buick' ? 'selected' : ''; ?>>Buick</option>
    </select>

最佳答案

网址如&carBrand=1607191|Acura&carBrand=1607185|Alpha按以下方式处理: carBrand= 的每个以下值覆盖前一个。拥有 carBrand 数组值,您需要使用 []网址中的符号,即:

&carBrand[]=1607191|Acura&carBrand[]=1607185|Alpha   

参见[]每次之后 carBrand ?这就是您所需要的。

之后你的代码可以这样写:

<?php $carBrand = !empty( $_GET['carBrand'] ) ? $_GET['carBrand'] : array(); ?>

我使用array()默认值如下 in_array函数不会抛出错误。

还有你的<select>代码将是:

<select name="brands[]" id="selectBrands" class="form-control" multiple="multiple">
  <option value="1607191|Acura" <?php echo in_array('1607191|Acura', $carBrand) ? 'selected' : ''; ?>>Acura</option>
  <option value="1607185|Alpha Romeo" <?php echo in_array('1607185|Alpha Romeo', $carBrand) ? 'selected' : ''; ?>>Alpha Romeo</option>
  <!-- More options here -->
</select>

关于php - 使用 PHP 基于 URL 参数选择多个下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42773169/

相关文章:

在 Windows 10 上使用查找/替换后,PhpStorm 光标消失了吗?

javascript - 如何获取html页面上特定部分的背景颜色

forms - Magento,在网格和表单后端添加并设置一个复选框

html - 如何使所有 Contact 7 字段大小相同?

java - Android - 从代码构建动态表单

php - Mysql 使用 php 下拉列表中的值选择查询

php - 如何显示带有存储在数据库中的路径的图像?

php - 在 JQuery/Javascript 中使用值的问题

javascript - 无法运行 Javascript 函数

javascript - 用