首页 > 解决方案 > SELECT2 - 从数据库中/从下拉列表中保存和加载选定的值

问题描述

我有一个 HTML/PHP 表单,用于使用 jQuery 和 jQueryUI 保存/编辑员工数据。一个字段包含组织,这是一个jQuery SELECT2 下拉列表,从 SQL 数据库中的所有可能值生成。

$(document).ready(function() {
    $('#organisationDropdown').select2({
        placeholder: 'Wählen Sie eine oder mehr Organisationen aus'
    });

});

...

<form id="dataForm" method="post" action="mitarbeiter_speichern.php" onsubmit="return checkDataForm();">
    <table id="tabelleFelderBearbeiten" class="display" style="width:100%">
        <tbody>
        <tr> 
                <td>Zugehörige Organisation</td>
                <td><select name="organisationDropdown" id="organisationDropdown" multiple="multiple">
                    <?php 
                    $resOrganisationen = $mysqli->query("SELECT * FROM organisation");
                    while($rowOrganisation = $resOrganisationen->fetch_array()) {
                    echo("<option value=\"" . $rowOrganisation['orgID'] . "\">" . $rowOrganisation['org_name1'] . " | " . $rowOrganisation['org_name2'] . "</option>");
                    };
                    ?>
                    </select>
                </td>
        </tbody>
    </table>
</form>

一名员工可以分配到 1-n 个不同的组织。这在 MySQL 中保存为分配表,如下所示:

+++OrgID+++employeeID+++
+++ 1           +++ 4 +++
+++ 1           +++ 7 +++
+++ 2           +++ 2 +++
...

如果是新员工,我需要以上面显示的格式将选定的值保存到数据库中。My thoughts: for-each *selected value* { get *selected orgID from the dropdown and INSERT INTO table}. 我设法使用此功能在警报框中获取所选值(OrgID)

alert("Selected value is: "+$("#organisationDropdown").select2("val"));

但我不知道如何将这些值保存到我的数据库中。

在编辑员工的情况下,我需要将给定员工 ID 的选定组织加载到 SELECT2 下拉列表中,最后再次将更改保存到数据库。我的想法:for-each *selected value* { get *selected orgID from the dropdown and UPDATE table, where employeeID = *selected employee*}. 进一步:如何确保正确保存更新?如果员工更改组织(删除),应在保存新选择的组织后删除旧条目。

我在这里阅读了许多关于保存 SELECT2 值的主题,例如this。但是,我没有找到任何以我需要的方式工作的东西。

标签: phpmysqljquery-select2

解决方案


推荐阅读