我制作了一个下拉搜索表单,该表单由数据库内容自动填充。表中的声音例如是具有变化尺寸的木材类型。 因此,存在可重复的具有不同数据的木材名称。 为避免重复,下拉菜单中填充了要选择的木材类型,然后显示其所有变体。 问题是,在选择输入时,结果是上面列出的项目的结果,而不是所选的结果。
<form action="search2.php" method="POST">
<select name="finit" onchange='this.form.submit()'>
<?php
include("connect.php");
$query = "SELECT finit FROM prime";
$info = mysqli_query($conn, $query);
$finit = '';
echo "<option value=\"\">Selezione Materiale</option>";
while($row = $info->fetch_assoc()){
if($row['finit'] != $finit) {
echo "<option value=\"$finit\">" . $row['finit'] . "</option>";
$finit = $row['finit'];
}
}
?>
</select>
<noscript><input type="submit" value="Submit"></noscript>
</form>
答案 0 :(得分:0)
尝试此操作,但更改根据您的默认值和sql值确定的条件是否匹配。
<form action="search2.php" method="POST">
<select name="finit" onchange='this.form.submit()'>
<?php
include("connect.php");
$query = "SELECT finit FROM prime";
$info = mysqli_query($conn, $query);
$finit = '';
?>
<option value="">Selezione Materiale</option>;
<?php
while($row = $info->fetch_assoc()){
if($row['finit'] == $finit) {
$selected = 'selected';
}else{
$selected = '';
$finit = $row['finit'];
}
?>
<option value="<?php echo $finit ?>" <?php echo $selected ?>><?php echo $row['finit']?></option>
<?php } ?>
</select>
<noscript><input type="submit" value="Submit"></noscript>
</form>
答案 1 :(得分:0)
由于与一个木材类型关联的变体(尺寸)很多,因此您必须首先将木材类型作为用户的输入(通过下拉列表),然后可能要显示所有可能的变体(尺寸)特定的木材类型。
因此,以以下方式更改SQL查询,
$query = "SELECT DISTINCT finit FROM prime";
和while
循环,方法如下:
while($row = $info->fetch_assoc()){
$output = "<option value='" . $row['finit'] . "'";
if($row['finit'] == $_POST['finit']){
$output .= " selected='selected'";
}
$output .= ">" . $row['finit'] . "</option>";
echo $output;
}