【问题标题】:Table form dynamically refresh with php and ajax使用php和ajax动态刷新表格表单
【发布时间】:2015-02-08 23:41:04
【问题描述】:

我有一个包含表格的页面。当用户单击按钮选择一个选项并运行 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>

【问题讨论】:

    标签: javascript php jquery mysql ajax


    【解决方案1】:

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

    只是感受一下,没有测试。

    $(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
    });
    

    【讨论】:

    • 你需要第三个文件,例如form.html 中只有表单和 JS 代码。从那里我们将获取 ajax。在 displaytable.php 中删除表格。只需构建数组并回显 json_encode
    • 对不起,我好像听不懂
    • 你应该读一本书或者做一些教程。在这里学习 PHP 是不可能的。你不会高兴,我们也不会高兴写长对话,抱歉。
    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2013-01-27
      • 2018-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-21
      • 1970-01-01
      • 2011-09-14
      • 1970-01-01
      相关资源
      最近更新 更多