根据下拉列表选择填充表

时间:2018-02-14 16:27:04

标签: php jquery ajax

我有下面的月份和表格下拉列表。该表需要根据所选月份显示不同的条目。我不完全确定当月值改变时如何在后台创建这个表?

HTML

<form id="monthSelect">
    <select id="month">
        <option>January</option>
        <option>February</option>
        <option>March</option>
        <option>April</option>
        <option>May</option>
        <option>June</option>
        <option>July</option>
        <option>August</option>
        <option>September</option>
        <option>October</option>
        <option>November</option>
        <option>December</option>
    </select>
</form>
<div id="list">
    <table id="myTable" class="display" cellspacing="0" width="100%">
        <thead>
        <tr>
            <th>Acc No</th>
            <th>Corp. Name</th>
            <th>Entity</th>
            <th>Year End</th>
        </tr>
        </thead>
        <?php
        while ($row = $query->fetch(PDO::FETCH_ASSOC)) {
            echo '
                <tr>
                    <td>'.$row['id'].'</td>
                    <td>'.$row['name'] .'</td>
                    <td>'.$row['entity'].'</td>
                    <td>'.$row['year_end'].'</td>
                </tr>
            ';
        }
        ?>
    </table>

的Ajax

$('#month').on('change', function () {
        $.ajax({
            url : '../src/processes/year-end-report.php',
            type : 'POST',
            data : {
                month : month
            },
            success : function (data) {
                $("#list").html(html);
            }
        })
    })

PHP

$query = $handler->query("SELECT * FROM `companies` WHERE year_end = 'DECEMBER'");

我不完全确定在月份值更改时如何在后台创建此表?

2 个答案:

答案 0 :(得分:0)

将ajax请求发送到php脚本所在的url,使用所选值填充ajax请求的data属性。

然后在你的php脚本上获取该值,将其转义,并在查询中使用它。

$month = $_GET['month']

...

$query = $handler->query("SELECT * FROM `companies` WHERE year_end = '$month'");

获取所需的值数组并使用json对它们进行编码,最后回显json。

答案 1 :(得分:0)

我猜你需要做的是 -

  1. 创建一个包含表格标签的单独文件。 因此,无论您根据月份选择从查询中获取的记录,都将作为文件的输入。
  2. 每次更改月份时,将该文件加载到sum