繁体   English   中英

根据组合框选择显示结果

[英]displaying results based on combobox selection

我有一个动态组合框,并且有我的提取按钮。 当用户从组合框中选择一个值并单击提取按钮时,所有其他相关值将显示在文本框中,供用户编辑和更新记录。 那很好。

<form id="form1" method="post" action="edit.php">   
  <select name="ID" id="select">
     <?php display_Id();?>
  </select> 
  <input type="submit" name="Fetch" id="Fetch" value="Fetch" />
</form>

function display_Id() {
    $query = "SELECT * FROM Flight";

    $result = mysql_query($query) or die("Failed to fetch records");
    confirm_query($result);

    while($rows = mysql_fetch_array($result)) {
        $flightNum = $rows['FlightNo'];
        echo "<option value=\"$flightNum\" ";
        echo " selected";
        echo "> $flightNum </option>";
    }       
}

问题出在“获取”按钮中。 当用户单击“获取”时,将显示其他值,但是从组合框中选择的值正在刷新。 即使按下“获取”按钮后,如何使这些值保持选定状态?

从某种意义上说,您的问题是不完整的,因为这里没有显示dislay_Id()代码。 但是,通常来说,您应该以编程方式在<option value="something"之后添加selected

代码应该是这样的:

function displayId(){
  if($value[x]== $currentValue) {
    echo "<option value='$value[x]' selected>sth</option>";
  } 
  else
  {
    echo "<option value='$value[x]'>sth</option>";
  }
}

编辑::您的代码向每个值添加一个“选定的”,您必须仅向当前值添加一个“选定的”。

因此,您的代码必须如下所示:

echo "<option value=\"$flightNum\" ";

if($_POST['ID'] == $flightNum)
{        
  echo " selected";
}
echo "> $flightNum </option>";
while($rows = mysql_fetch_array($result))
{
    $flightNum = $rows['FlightNo'];
    echo "<option value=\"$flightNum\" ";
    if($_POST['ID'] == $flightNum)
    {
        echo " selected";
    }
    echo "> $flightNum </option>";
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM