首页 > 解决方案 > 如何使用ajax在同一页面中发送数组,然后使用循环将数据保存到数据库

问题描述

我有一个关于如何将数据表中选定行的数据保存到数据库的问题。

我已经可以根据数据表中的复选框获取 STAFF_ID。

现在,我正在尝试将数据以多行的形式保存到数据库中。

我只是php的初学者,不胜感激。这是我的代码:

<script>
    $(document).ready(function() {
        var table = $('#table_id').DataTable({
            // 'ajax': '/lab/jquery-datatables-checkboxes/ids-arrays.txt',
            'columnDefs': [{
                'targets': 0,
                'checkboxes': {
                    'selectRow': true
                }
            }],
            'select': {
                'style': 'multi'
            },
            'order': [
                [1, 'asc']
            ]
        });

        // $('#table_id tbody').on( 'click', 'td input', function () {
        //     var checked = $(this).prop('checked');
        //     console.log(checked);
        // });

        // Handle form submission event
        $('#generate_button').on('click', function(e) {

            var array_staff_id = [];
            $("input:checkbox[name=check]:checked").each(function() {
                array_staff_id.push($(this).val());
            });
            alert(array_staff_id);

        });

    });
</script>
<div class="d-flex flex-column-fluid">
    <!--begin::Container-->
    <div class="container">
        <!--begin::Card-->
        <div class="card card-custom">
            <div class="card-body">
                <!-- <form method="post" action="" id="frm-example"> -->
                <!--begin: Datatable-->
                <table class="table table-separate table-head-custom table-checkable table-hover table_id" id="table_id">
                    <thead>
                        <tr>
                            <th></th>
                            <th>Name</th>
                            <th>Basic Salary</th>
                            <th>Other Allowances</th>
                            <th>Kwsp Conts</th>
                            <th>Socso Conts</th>
                            <th>Eis Conts</th>
                            <th>Zakat Conts</th>
                            <th>Income Tax Conts</th>
                        </tr>
                    </thead>


                    <tbody>
                        <?php
                        $s_infor = $cls_salary_info->list();
                        foreach ($s_infor as $s_level) {
                            // print_r($s_infor);
                        ?>
                            <tr>
                                <td><input type="checkbox" class="check_id" name="check" value="<?= $s_level['STAFF_ID']; ?>"></td>
                                <td><?= $s_level['NAME']; ?></td>
                                <td><?= $s_level['BASIC']; ?></td>
                                <td><?= $s_level['OTHERS']; ?></td>
                                <td><?= $s_level['KWSP_COMP']; ?></td>
                                <td><?= $s_level['SOCSO_COMP']; ?></td>
                                <td><?= $s_level['EIS_COMP']; ?></td>
                                <td><?= $s_level['ZAKAT']; ?></td>
                                <td><?= $s_level['TAX']; ?></td>
                            </tr>

                        <?php
                        }
                        ?>
                    </tbody>
                </table>
                <!--end: Datatable-->
                <br>

                <div class="form-group">
                    <h4 class="form-section">Generate Payslip</h4>
                    <hr>
                    <div class="row">
                        <label for="exampleSelectd2" class="col-2 col-form-label">Year</label>
                        <div class="col-3">

                            <select class="form-control" id="id" name="YEAR">

                                <option>Select Year</option>

                                <?php
                                //get the current year
                                $Startyear = date('Y');
                                $endYear = $Startyear;
                                // set start and end year range i.e the start year
                                $yearArray = range($Startyear, $endYear);
                                ?>
                                <!-- here you displaying the dropdown list -->

                                <!-- <option value="">Select Year</option> -->
                                <?php
                                foreach ($yearArray as $YEAR) {
                                    // this allows you to select a particular year
                                    $selected = ($year == $Startyear) ? 'selected' : '';
                                    // $selected = ($YEAR == $Startyear) ? 'selected="selected"' : '';
                                    echo '<option ' . $selected . ' value="' . $YEAR . '">' . $YEAR . '</option>';
                                }
                                ?>
                            </select>
                        </div>

                        <label class="col-2 col-form-label">Select Month</label>
                        <div class="col-3">
                            <select class="form-control" name="DATE_ID" id="DATE_ID">
                                <option>Select Month</option>
                                <?php
                                $results = $cls_salary_date->listing();
                                foreach ($results as $data) {

                                    if (isset($_POST['search'])) {
                                        $id = $_POST['DATE_ID'];
                                    } else {
                                        $id = null;
                                    }

                                    if ($data['DATE_ID'] == $id) {
                                        $sel_blok = 'Selected=\"selected\"';
                                    } else {
                                        $sel_blok = '';
                                    }
                                ?>
                                    <option value="<?= $data['DATE_ID'] ?>" <?= $sel_blok ?>> <?= $data['DATE'] ?></option>
                                <?php
                                }
                                ?>
                            </select>
                        </div>
                    </div>
                </div>
                <div class="form-actions text-center">
                    <button class="btn btn-primary float-md-right add_btn" id="generate_button">
                        <i class="fa fa-dot-circle-o"></i>Generate</button>
                </div>
                <!-- </form> -->
            </div>
        </div>
    </div>
</div>
<br>

我想将复选框选择的行保存到数据库。

标签: javascriptphphtmljqueryajax

解决方案


推荐阅读