PHP从MySQL中选择多个选择选项

时间:2011-09-26 18:29:03

标签: php mysql multi-select

我正在尝试从数据库中加载多个选择进行编辑。

我将原始数据存储在一个内爆的字符串中(即“4,6,8,9”)。

我想要做的是从数据库中分解该字符串,然后在加载编辑表单时选择值。值为Float,然后是1-52。

这是我到目前为止的代码,但它没有选择值。

$ listing-> getWeeksAvail()只是一个调用,在这种情况下返回WeeksAvail属性“4,6,8,9”

<?php
$weeks_available = explode(",", $listing->getWeeksAvail());
if (in_array("Float", $weeks_available)) {
    echo " selected='selected'";
}
?>

>Float</option>
<?php
    for($float=0; $float<=52; $float++) {
        echo "<option value=\"$float\"";
        if (($listing instanceof listing) && $float == $listing->getWeeksAvail()) {
        echo " selected='selected'";
    }
        echo ">$float</option>\n";
}

2 个答案:

答案 0 :(得分:0)

你可以尝试

<?php
$week_available = explode(',', $listing->getWeeksAvail());

foreach ( range(1,42) as $week ) {
   echo "<option value=\"$week\""
        .(in_array($week,$week_available)?"selected=\"selected\"":"")
        .">$week</option>";
}

答案 1 :(得分:0)

代码的第二部分应该是这样的:

<?php
for ($float=0; $float<=52; $float++) {
    echo "<option value=\"$float\"";
    if (in_array($float, $weeks_available))) {
    echo " selected='selected'";
    }
    echo ">$float</option>\n";
}