使用PHP根据URL参数选择多个下拉列表
根据URL参数为我的表单选择输出多个“已选”的最佳方法是什么 在我的URL中,我可能有这些参数&carBrand=1607191 | Acura&carBrand=1607185 | Alpha-Romeo 但当我提交URL时,唯一选择的选项是第二个。对于这个表单,我需要通过url选择多辆车使用PHP根据URL参数选择多个下拉列表,php,html,forms,select,multiple-select,Php,Html,Forms,Select,Multiple Select,根据URL参数为我的表单选择输出多个“已选”的最佳方法是什么 在我的URL中,我可能有这些参数&carBrand=1607191 | Acura&carBrand=1607185 | Alpha-Romeo 但当我提交URL时,唯一选择的选项是第二个。对于这个表单,我需要通过url选择多辆车 <?php $carBrand = !empty( $_GET['carBrand'] ) ? $_GET['carBrand'] : ''; ?> <select na
<?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
这样的URL按以下方式处理:carBrand=
的以下每个值都覆盖上一个值。要拥有carBrand
值的数组,您需要在url中使用[]
符号,即:
&carBrand[]=1607191 | Acura&carBrand[]=1607185 | Alpha
请参见每个carBrand
之后的[]
?这就是你需要的
之后,您的代码可以编写为:
<?php $carBrand = !empty( $_GET['carBrand'] ) ? $_GET['carBrand'] : array(); ?>
你的url应该有[]
符号:&carBrand[]=1607191 | Acura&carBrand[]=1607185 | Alpha
在这种情况下,你可以在数组中使用来检查值。你不能有多个carBrand参数,请尝试使用u_mudler已经提到的数组符号。看看这个答案
<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>