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

发布于 2024-12-06 08:27:50 字数 725 浏览 1 评论 0原文

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

我将原始数据存储在一个内爆字符串中(即“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";
}

I am trying to load a mulitple select from the database to edit.

I am storing the original data in an imploded string (ie "4, 6, 8, 9").

What I want to do is explode that string from the database, then have the values selected when the edit form is loaded. The values are Float, then 1-52.

Here is the code I have so far, but it does not select the values.

$listing->getWeeksAvail() is just a call that returns the WeeksAvail property in this case "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";
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

眼泪都笑了 2024-12-13 08:27:50

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

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

The second part of your code should be like this:

<?php
for ($float=0; $float<=52; $float++) {
    echo "<option value=\"$float\"";
    if (in_array($float, $weeks_available))) {
    echo " selected='selected'";
    }
    echo ">$float</option>\n";
}
感受沵的脚步 2024-12-13 08:27:50

你可以尝试

<?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>";
}

you can try

<?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>";
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文