为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 下拉搜索结果选择错误的输入

PHP 下拉搜索结果选择错误的输入

PHP
蝴蝶不菲 2021-12-24 10:17:16
我制作了一个下拉搜索表单,该表单由我的数据库内容自动填充。表格中的声音将是例如具有不同尺寸的木材类型。因此,存在具有不同数据的可重复木材名称。为避免重复,下拉列表中填充有待选择的木材类型,然后与其所有变体一起显示。问题是,在选择输入时,结果是上面列出的项目,而不是选定的项目。<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>
查看完整描述

2 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

由于有许多与单一木材类型相关的变体(尺寸),您必须首先将木材类型作为用户输入(通过下拉列表),然后您可能希望显示该特定木材的所有可能变体(尺寸)木材类型。


因此,按以下方式更改 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;


查看完整回答
反对 回复 2021-12-24
?
撒科打诨

TA贡献1934条经验 获得超2个赞

试试这个,但如果条件根据您的默认值和 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>


查看完整回答
反对 回复 2021-12-24
  • 2 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号