我正在尝试从数据库中加载多个选择进行编辑。
我将原始数据存储在一个内爆的字符串中(即“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";
}
答案 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";
}