Php 单击GetfromMySQL加载到表中

Php 单击GetfromMySQL加载到表中,php,html,mysql,ajax,Php,Html,Mysql,Ajax,当用户单击submit按钮时,我能够将来自5个表单的数据输入mysql 现在,我想在用户单击其他按钮时在表中显示数据。我知道我需要使用Ajax和Php,但是我还没有找到一个我清楚的例子 下面是我的部分代码。我没有包括用于将表单数据发布到数据库的javascript和php。如果这有助于你理解,我可以补充一下 input.html get_input.php HTML需要表格的地方创建一个基本表格元素以将数据插入其中 <table id="mydata"></table>

当用户单击submit按钮时,我能够将来自5个表单的数据输入mysql

现在,我想在用户单击其他按钮时在表中显示数据。我知道我需要使用Ajax和Php,但是我还没有找到一个我清楚的例子

下面是我的部分代码。我没有包括用于将表单数据发布到数据库的javascript和php。如果这有助于你理解,我可以补充一下

input.html

get_input.php


HTML需要表格的地方创建一个基本表格元素以将数据插入其中

<table id="mydata"></table>

PHP创建一个返回数组,然后打印json编码的数组,而不是回显每一行

$return = array()
while ($row = mysql_fetch_array($result)) {
    foreach($row as $field) {
        $return[] = '<td>' . htmlspecialchars($field) . '</td>';
    }
}

print(json_encode($return));
$return=array()
while($row=mysql\u fetch\u数组($result)){
foreach($行作为$字段){
$return[]=''.htmlspecialchars($field)。'';
}
}
打印(json_编码($return));
JS调用的success函数中的JS遍历返回的json并创建一个新的html变量。然后使用该新变量设置您在上面的html部分中创建的表的html

$(function() {
    $('#list').on('click', function(e) {
        var data = $("#list :input").serialize();
        $.ajax({
            type: "GET",
            url: "get_input.php",
            data: data,
            dataType: "json",
            success: function(data) {
              var html;
              if(data) {
                for(var i=0; i < data.length; i++) {
                  html += "<tr>data[i]</tr>";
                }
                $("#mytable").html(html);
              }
            }
        });
        e.preventDefault();
    });
});
$(函数(){
$('#list')。在('click',函数(e){
变量数据=$(“#列表:输入”).serialize();
$.ajax({
键入:“获取”,
url:“get_input.php”,
数据:数据,
数据类型:“json”,
成功:功能(数据){
var-html;
如果(数据){
对于(变量i=0;i
这完全是我不知道的,没有经过测试,但是假设所有其他函数都返回正确的数据,它应该可以工作


根本没有错误处理,基本上我通常做的是不返回$return,而是将所有数据放在$return[“data”]数组中,然后如果PHP函数errors返回$return[“error”],然后在js中而不是if(data)中,如果(data.error!=“”)可以执行或者类似的东西。

请参阅一些文档,注意有一个
.success
函数用于处理返回的数据。如果您正在混合API,请注意
mysql\u fetch\u数组
,这只是一个输入错误吗?@riggsfully Ok。我将查找成功函数。那么var数据行呢。我从我用来发布到数据库的代码中得到了这个,所以我认为它需要有所不同。@hassan应该是mysqli吗?它在我这边不起作用,但我是新手,所以问题可能在我代码的其他地方。我在答案中写了所有代码,检查你的控制台是否有js错误,还要检查您的数据是否确实返回了某些内容。如果打开Chrome inspector,然后转到Network和XHR,您可以看到ajax调用以及它们返回的内容。
<table id="mydata"></table>
$return = array()
while ($row = mysql_fetch_array($result)) {
    foreach($row as $field) {
        $return[] = '<td>' . htmlspecialchars($field) . '</td>';
    }
}

print(json_encode($return));
$(function() {
    $('#list').on('click', function(e) {
        var data = $("#list :input").serialize();
        $.ajax({
            type: "GET",
            url: "get_input.php",
            data: data,
            dataType: "json",
            success: function(data) {
              var html;
              if(data) {
                for(var i=0; i < data.length; i++) {
                  html += "<tr>data[i]</tr>";
                }
                $("#mytable").html(html);
              }
            }
        });
        e.preventDefault();
    });
});