Php 更新数据库值时在下拉框中获取值

Php 更新数据库值时在下拉框中获取值,php,sql,Php,Sql,我在更新数据库中的某些值时遇到问题。 当我想使用下拉框更改值时,它会自动将第一个值放入下拉菜单中。我想要的是获取数据库中已经设置的值 这是我的密码: <select name="vrijwilligerID"> <?php $vrijwilligerID = $_POST["vrijwilligerID"]; $query = "SELECT voornaam, achternaam, vrijwilligerID FROM vrijwil

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

这是我的密码:

<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>

有人知道怎么做吗?
提前感谢。

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

试试这个

<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>

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

(当然,我们在脚本中没有使用任何未初始化的PostSvar;)

$iVrijwilligerid=filter\u输入(输入后,'vrijwilligerID',filter\u验证\u INT,数组(“选项”=>array(“最小范围”=>0,“最大范围”=>999));
如果($iVrijwilligerid)
{

$sQry=是什么决定了从下拉框中选择的值?这样做实际上没有任何区别。它只会给出相同的输出。所以不知何故它无法识别某个对象的ID?
$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
}