Получить выбранные значения в поле формы множественного выбора - PullRequest
0 голосов
/ 28 сентября 2018

Я обновляю поле формы PHP из раскрывающегося списка (выбрано одно значение) до множественного выбора (выбрано несколько значений).

У меня есть 2 таблицы БД, в одной из которых находится полный список членов команды, а в другой - выбранные члены команды.

На странице PHP я хочу получить значения изполная таблица членов команды и показать полный список в виде поля с несколькими вариантами выбора.

Затем я хочу иметь возможность получить значения из выбранной таблицы членов команды и сделать так, чтобы они отображались в качестве выбранных параметров в полном списке множественного выбора, упомянутом выше.

Любая идея о том, как я смогу выполнитьthis?

Вот мой код, хотя сейчас он просто возвращает полный список членов команды без выбранных значений.

    $query = "SELECT walkername FROM Team_Management WHERE active=1 ORDER BY walkername ASC";  
                        $stmt = $mysqli->prepare($query) or die ("Couldn't execute query: ".mysqli_error($mysqli));
                        $stmt->execute();
                        $stmt->bind_result($walkers);

                        echo "<div class='form-group'>";
                        echo "<label class='col-lg-3 control-label' for='Walkers'>Walkers:</label>";
                        echo "<div class='col-lg-5'>";
                        echo "<select multiple class='form-control' name='walkers[]' id='Walkers'>";


                        while ($stmt->fetch()) {
                          echo "<option value='$walkers'>$walkers</option>";
                        }

                        echo "</select>";
                        echo "</div>";
                        echo "</div>";

                        $stmt->close();

** ОБНОВЛЕНО **

Итак, одинЯ должен был добавить, что поле SELECTED_TEAM_MEMBERS - это поле, разделенное запятыми.

Таблица TEAM_MANAGEMENT

id ||имя ходунка

1 ||Джон

2 ||Кейт

SELECTED_TEAM_MEMBER таблица

cid ||ходунки

1 |Джон, Рэй, Кейт

2 |Кейт, Мэтт, Джо

Кроме того, каждая группа в поле «Ходоки» в таблице SELECTED_TEAM_MEMBER связана с уникальным идентификатором клиента (cid).

Так как я могу определить выбранных ходоков изполный список в таблице TEAM_MANAGEMENT по уникальному идентификатору клиента.

1 Ответ

0 голосов
/ 28 сентября 2018

Вы можете получить список выбранного пользователя с логическим значением в вашем запросе SQL

SELECT walkername, 
       CASE WHEN **selected_team_members_name** > '' THEN '1' ELSE '0' END as is_selected 
FROM Team_Management 
   LEFT OUTER JOIN **SELECTED_TEAM_MEMBERS** ON **selected_team_members_name** = walkername
WHERE active=1 
ORDER BY walkername ASC

С selected_team_members_name именем столбца в вашей таблице и SELECTED_TEAM_MEMBERS - именем вашеготаблица

А теперь $ walker представляет собой массив с ключом 2: walkername и is_selected

И после того, как вы можете попробовать, если поставить им атрибут «selected», когда вы пишете свой тег «option»

while ($stmt->fetch())
{
    $selected = "";
    if($walkers['is_selected'] == '1'){ //If your walker is selected
        $selected = "selected";
    }
    echo "<option ".$selected." value=".$walkers['walkername'].">".$walkers['walkername']."</option>";
}

Возможно, я не понял контекста, но я надеюсь, что помог вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...