我是php的新手...我试图通过使用dropdownlist来过滤我的数据。我在视图中的代码就像
<?php
if(isset($value))
{
if($value==1)
{
echo"<option value='1' selected>option1</option>
<option value='0' >option2</option>";
}
if($value==0)
{
echo"<option value='1' >option1</option>
<option value='0' selected >option2</option>";
}
}
else
{
echo"<option value='1'>option1</option>
<option value='0'>option2</option>";
$value="";
}
?>
但是如果选择option1它正常工作..但是当点击option2时它会过滤正确的数据,但它只选择状态..选择的值是状态,即与空值相同...
答案 0 :(得分:0)
只需尝试使用此
替换您的代码<select name="status" id="status">
<option value=""><< Select Option >></option>
<option value="1" <?=($status=="1")?"selected":""?>>Active</option>
<option value="0" <?=($status=="0")?"selected":""?>>Inactive</option>
</select>
它的小型和三元式算子在其他情况下是快速的。
答案 1 :(得分:0)
在解决您可能需要更多解释的过滤问题之前 我建议重构代码以避免不必要的条件和代码重复
这是一种方法:
<?php $values = array('Inactive', 'Active') ?>
<?php $selected = (!empty($status)) ? 'selected' : '' ?>
<?php foreach($values as $value => $label): ?>
<option value='<?php echo $value ?>' <?php echo $selected ?> ><?php echo $label ?></option>
<?php endforeach ?>