使用php和ajax动态刷新表格

时间:2015-02-08 23:41:05

标签: javascript php jquery mysql ajax

我有一个包含表单的页面。当用户单击按钮选择一个选项时,它会显示选择选项,并运行updatephp.php,它有查询更新。我需要动态更新选择并显示成功/错误消息,如"更新"或"没有结果"在屏幕上我该如何实现这一目标。我不是很擅长ajax,有人可以指导我。

displaytable.php

<form method="POST" action="choosecake.php">
    <select id="bakeryid" name="bakeryid">
        <option value="">Select</option>
        <?php
            $sql = "SELECT bakeryid, datefrom FROM cakes";
            $sqlresult = $link->query($sql);
            $sqllist = array();
            if(mysqli_num_rows($sqlresult) > 0) {
                while($row = mysqli_fetch_array($sqlresult))
                {
                echo "<option value=".$row['bakeryid'].">".$row['datefrom']."</option>";
                }
                $sqlencode = json_encode($sqllist);
                echo $sqlencode;
            } else {
                echo 'No Results were found';
            }
        ?>
    </select>
    <input type="hidden" value="<?php echo $bakeryid;?>" name="bakeryid"/>
    <input type="submit" value="Submit" name="submit"/>
</form>

2 个答案:

答案 0 :(得分:0)

更改您的displaytable.php并生成一组蛋糕,其中ID为键,名称为值。然后回显json编码的数组,可以直接在js中使用。

只是为了感受,没有测试它。

$(document).ready(function() {
  window.setTimeout(function() {
    $.ajax({
      url: "/displaytable.php"
    }).done(function(data) {
      var select = $('#selectId');
      select.empty();
      $.each(data, function(val, key) {
        select.append($("<option></option>").attr("value", key).text(val);
      });
    });
  }, 10000); // 10 seconds update interval
});

答案 1 :(得分:0)

如果您的页面必须刷新(没有ajax),请使用displaytable.php来处理表单提交。然后定义一个变量来保存您的成功或错误消息,并将此变量放在您希望显示消息的位置,例如

if(!empty($success_message)) {
    echo "<h2>$success_message</h2>";
}

提交表单时,只需为$success_message分配一个值,由于处理表单提交的脚本与包含表单的脚本相同,因此上面代码中的echo语句将显示您的消息。页面重新加载。