从GET值中选择默认值

时间:2017-08-13 12:45:42

标签: php select html-select

我的网站正在使用表单编辑来点击记录,然后打开一个表单并允许编辑所有值,并保存以附加新值。然而,我面临的问题是select,它应该使用$ _GET中的默认值,而是默认值是按字母顺序排在第一位的值,而不是它实际应该是什么。所以问题是如果我编辑并保存,表单会自动将错误的值放在选择框中。

我用于我的选择的代码如下:

echo "<select name='ClientCode'>";
    while ($row = mysql_fetch_array($result)) {
    echo "<option  value='" . $row['ClientCode'] ."'>" . $row['ClientName'] ."</option>";}
    echo "</select><br>";   //CLOSE DROP DOWN BOX

如何编辑上面的代码段以允许我的$ cli = $ _GET [“ClientCode”]在选择框中显示为页面加载时的默认值

4 个答案:

答案 0 :(得分:4)

更改你的while循环,如:

$cli = isset($_GET["ClientCode"])?$_GET["ClientCode"]:"";
while ($row = mysql_fetch_array($result)) {
    $selected =  ($cli == $row['ClientCode']) ? "selected" : "";
    echo "<option  value='" . $row['ClientCode'] ."' $selected >" . $row['ClientName'] ."</option>";}

答案 1 :(得分:3)

按以下方式更改<select ...> ... <select>下拉列表代码,

echo "<select name='ClientCode'>";
while ($row = mysql_fetch_array($result)) {
    $output = "<option  value='" . $row['ClientCode'] ."'";
    if(isset($_GET["ClientCode"]) && $row['ClientCode'] == $_GET["ClientCode"]){
        $output .= " selected='selected'";
    }
    $output .= ">" . $row['ClientName'] ."</option>";
    echo $output;
}
echo "</select><br>";

答案 2 :(得分:0)

您需要在循环中检查$ _GET并为所需选项选择=“已选择”

echo "<select name='ClientCode'>";
    while ($row = mysql_fetch_array($result)) {
    if (!empty($_GET["ClientCode") && $_GET["CleintCode"] == $row["ClientCode"]))
    {
     echo "<option  selected='selected' value='" . $row['ClientCode'] ."'>" . $row['ClientName'] ."
    </option>";
    }
    else
    {
       echo "<option  value='" . $row['ClientCode'] ."'>" . $row['ClientName'] ."
</option>";
     }
}
echo "</select><br>"

答案 3 :(得分:0)

使用此

if($row['ClientCode'] == $_GET["ClientCode"])
{
?>
    <option selected="selected">
    Value goes here...
    </option>
<?php
}