0

我知道这应该很简单,但我似乎无法理解它。

我有一个 sql 数据库中的大陆列表,我使用 PHP DBO 返回并显示在下拉列表中。然后我想做的是从 sql 数据库中获取用户首选的大陆,然后在列表中选择那个大陆。例如,如果列表包含 World、Africa、Europe、N America 和 S America,但用户最喜欢的是“Europe”,我希望选择那个。$getContinent是用户的偏好。

while ($row = $continent_results->fetch(PDO::FETCH_ASSOC)) {

    if ($getContinent != ''){
        echo '<option value="' . $getContinent . '" selected="selected" >' . $row['CONTINENT_NAME'] . '</option>';
    }else{
        echo '<option value=' . $row['CONTINENT_ID'] . '>' . $row['CONTINENT_NAME'] . '</option>';
    }
}

如果有人能让我直截了当,我将不胜感激,因为我在互联网上找到了一些例子,但无法让它们工作:)

4

3 回答 3

2

你的代码应该是这样的

while ($row = $continent_results->fetch(PDO::FETCH_ASSOC)) {

//just check if the option id is equal to the chosen value

    if ($getContinent != '' && $getContinent==$row['CONTINENT_ID'] ){


        echo '<option value="' . $getContinent . '" selected="selected" >' . $row['CONTINENT_NAME'] . '</option>';

    }else{
        echo '<option value=' . $row['CONTINENT_ID'] . '>' . $row['CONTINENT_NAME'] . '</option>';
    }
}

正如您所猜测的那样,它很简单:D

于 2013-01-27T20:08:43.457 回答
0

你会使用这样的东西:

while ($row = $continent_results->fetch(PDO::FETCH_ASSOC)) {
    echo '<option value="' . $row['CONTINENT_ID'] . '">' . $row['CONTINENT_NAME'] . '</option>';
}

我希望这会有所帮助!

--al

于 2013-01-27T20:05:36.527 回答
0

您可以使用三元运算符

while ($row = $continent_results->fetch(PDO::FETCH_ASSOC)) {
    echo '<option value="' . $row['CONTINENT_ID'] . 
         ($getContinent == $row['CONTINENT_NAME']) ? '" selected="selected"' : '"' . '>' . 
         $row['CONTINENT_NAME'] . '</option>';
}
于 2013-01-27T20:11:49.860 回答