1

我在更新数据库中的某些值时遇到问题。当我想使用下拉框更改值时,它会自动将第一个值放入下拉菜单中。我想要的是获取已经在数据库中设置的值。

这是我的代码:

<select name="vrijwilligerID">
<?php           
    $vrijwilligerID = $_POST["vrijwilligerID"];
    $query = "SELECT voornaam, achternaam, vrijwilligerID FROM vrijwilliger;";
    $result = mysql_query($query);
    while($row=mysql_fetch_array($result)){
        echo "<option value=".$row['vrijwilligerID'].">".$row["voornaam"]." ".$row["achternaam"]."</option>";
    }
?>              
</select>

有谁知道如何做到这一点?先感谢您。

4

2 回答 2

2

根据所选项目,您必须将 selected 属性添加到选项。

尝试这个

<select name="vrijwilligerID">
                <?php           
                    $vrijwilligerID = $_POST["vrijwilligerID"];

                    $query ="   SELECT voornaam, achternaam, vrijwilligerID
                                FROM vrijwilliger;";

                    $result = mysql_query($query);

                    while($row=mysql_fetch_array($result)){
                      if($row["vrijwilligerID"]==$vrijwilligerID)
                           echo "<option value=".$row['vrijwilligerID']." selected>".$row["voornaam"]." ".$row["achternaam"]."</option>";

                     else
                          echo "<option   value=".$row['vrijwilligerID'].">".$row["voornaam"]." ".$row["achternaam"]."</option>";
                    }
                    ?>              
        </select>
于 2012-06-27T16:18:19.523 回答
0

使用 php 很容易解决这个问题,但是使用 mysqls IF() 函数可以直接选择选项。使用 mysqls concat() 你也可以获得你想要的结果。

(当然,我们没有在我们的脚本中使用任何未清理的帖子变量;))

$iVrijwilligerid = filter_input(INPUT_POST, 'vrijwilligerID', FILTER_VALIDATE_INT, array("options"=> array("min_range"=>0, "max_range"=>999))) ;

if($iVrijwilligerid)
{
  $sQry = <<<QRY
      SELECT
        CONCAT('<option value="', vrijwilligerID, '"',IF((SELECT vrijwilligerID FROM vrijwilliger WHERE vrijwilligerID=$iVrijwilligerid), ' selected="selected"', '' ),'>',voornaam, ,achternaam,'</option>') AS optItem
      FROM
        vrijwilliger
      WHERE
        your clause here
QRY;
  $oResult = mysql_query( $sQry );
  while($aRow=mysql_fetch_assoc( $oResult ))
  {
    echo $aRow['optItem'];
  }
}
else
{
  // nada
}
于 2012-06-27T16:36:44.877 回答