我用过
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
当用户选择通过表单中的选项(在本例中为“material”)设置限制时,自动重新加载页面。 这适用于硬编码选项,但也不适用于通过PHP从mySQL数据库中提取的选项。所以:
<form id="material" class="floatleft" method="POST" action="detail.php?material=">
<select name="material" id="material" onchange="this.form.submit()">
适用于硬编码的“亚麻布”
echo '<option value="linen" ';
if ($material == "linen")
echo 'selected="selected"';
echo '>Linen</option>';
但从PHP查询中检索时没有'亚麻'
$i = 0;
while ($row_material = mysqli_fetch_array($result_material))
{
echo '<option value="'.$material.'" ';
if ($material == $row_material['material'])
echo 'selected="selected"';
echo '>'.$row_material['material'].'</option>';
$i++;
}
感谢您的帮助
答案 0 :(得分:0)
将此更改为您的代码。我使用了ternary运算符来使代码更具可读性
$array = array(
array('material' => 'linen'),
array('material' => 'test'),
array('material' => 'test2'),
array('material' => 'test3'),
);
echo '<select>';
$material = 'test2';
foreach($array as $row_material)
{
$selected = ($material == $row_material['material']) ? 'selected=true' : '';
echo '<option value="'. $row_material['material'] .'" ' .$selected .' >' . $row_material['material'].'</option>';
$i++;
}
echo '</select>';
答案 1 :(得分:0)
关闭最后一个回声中的<option>
,而不是第一回声:
echo '>'.$row_material['material'].'</option>';