我有一个下拉菜单,如果该值已经保存在数据库中,我想选择pf下拉值。
<select class="form-control" id="category" name="category" required >
<option value="">Select</option>
<?
$category= $rs2->fields['category'];
?>
<option value="1" <? if($category== $rs2->fields['category']) { echo 'selected="selected"'; } ?>> PHP </option>
<option value="2" <? if($category== $rs2->fields['category']) { echo 'selected="selected"'; } ?>> JAVA </option>
<option value="3" <? if($category== $rs2->fields['category']) { echo 'selected="selected"'; } ?>> C++ </option>
<option value="4" <? if($category== $rs2->fields['category']) { echo 'selected="selected"'; } ?>> WordPress </option>
</select>
如果数据库中的类别类型为3,则在页面上,所选值应为C ++。
答案 0 :(得分:0)
您忘了实际提及出了什么问题,但是您的代码似乎是循环的/互变的。
您写
$category= $rs2->fields['category']
跟着
if($category== $rs2->fields['category'])
当然,此if
语句的结果将始终为true,因为在右上方的行中,通过将一个值赋给另一个变量使两个变量具有相同的值!
我想你需要写
if($rs2->fields['category'] == 1)
在第一行上,然后在第二行上将1替换为2,依此类推?这样,您就可以根据选项值测试数据库字段值。
完整样本:
<select class="form-control" id="category" name="category" required >
<option value="">Select</option>
<option value="1" <? if($rs2->fields['category'] == 1) { echo 'selected="selected"'; } ?>> PHP </option>
<option value="2" <? if($rs2->fields['category'] == 2) { echo 'selected="selected"'; } ?>> JAVA </option>
<option value="3" <? if($rs2->fields['category'] == 3) { echo 'selected="selected"'; } ?>> C++ </option>
<option value="4" <? if($rs2->fields['category'] == 4) { echo 'selected="selected"'; } ?>> WordPress </option>
</select>
答案 1 :(得分:0)
这可以解决您的问题。您需要使用类别检查选项的值。
<option value="1" <? if($category== 1) { echo 'selected="selected"'; } ?>> PHP </option>
<option value="2" <? if($category== 2) { echo 'selected="selected"'; } ?>> JAVA </option>
<option value="3" <? if($category== 3) { echo 'selected="selected"'; } ?>> C++ </option>
<option value="4" <? if($category== 4) { echo 'selected="selected"'; } ?>> WordPress </option>