Выберите значение в опциях выбора - PullRequest
0 голосов
/ 20 декабря 2018

Я работаю над своим PHP, чтобы установить HTML-теги для опций выбора.Я сохранил строки в массиве, и я хочу проверить с переменной $_SESSION["day_cycle"], чтобы увидеть, если строка пуста.Если переменная отображается как пустая строка, я хочу выбрать значение Immediately, но оно всегда будет выбирать значение Delayed в параметрах выбора.

Я также пробовал:

if(!$v == $_SESSION["day_cycle"])
{
    $selected = "Immediately";
}

И это:

if($_SESSION["day_cycle"] == '')
{
    $selected = "Immediately";
}

Он всегда будет выбирать значение Delayed в опциях выбора.

Вот полный код:

<div class="form-group">
    <label for="name" class="label-control" value="">Send message:</label>

    <?php
        $html = '<form method="post" action="">
        <select name="sendmessage" id="sendmessage" style="width: 300px;" value="">';
        $values = array('unknown', 'Immedatiely', 'Delayed');

        foreach($values as $v)
        {
            $selected = '';

            if($v == 'unknown')
            {
                $title = '';
            }
            else
            {
                $title = $v;
            }

            if(!$v == $_SESSION["day_cycle"])
            {
               $selected = "selected";
            }
            $html .= "<option $selected value='$v'>$title</option>";
        }
        $html .= "</form>
        </select>";
        echo $html;
    ?>
</div>

Чего я хочу добиться - я хочу проверить с помощью переменной $_SESSION["day_cycle"], чтобы убедиться, что если переменная вернется в виде пустой строки, то я хочу выбратьзначение Immediately в параметрах выбора, и если переменная имеет возвращаемую строку, я хочу выбрать значение Delayed.

Можете ли вы показать мне пример, как я могу использовать для проверки переменной, чтобы увидетьесли переменная возвращает строку или нет, я могу выбрать нужное значение?

Спасибо.

1 Ответ

0 голосов
/ 20 декабря 2018

Возможно, это не связано, но вы ошиблись Immediately при заполнении массива.Вы также закрыли свои теги form и select в неправильном порядке.Я исключил переменную $html, но в остальном следующее решение мало чем отличается и работа в тестовой среде сработала:

<div class="form-group">
    <label for="name" class="label-control" value="">Send message:</label>
<form method="post" action="">
    <select name="sendmessage" id="sendmessage" style="width: 300px;" value="">
    <?php
        $day_cycle = $_SESSION["day_cycle"];
        if ($day_cycle == '1')
            $day_cycle='Immediately';

        $values = array('unknown', 'Immediately', 'Delayed');

        foreach($values as $v)
        {
            $selected = '';

            if($v == 'unknown')
                $title = '';
            else
                $title = $v;

            if($v == $day_cycle)
               $selected = " selected";

            echo "<option$selected value='$v'>$title</option>";
        }
    ?>
    </select>
  </form>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...