Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax数据以10行的形式显示在表中_Javascript_Php_Jquery_Mysql_Ajax - Fatal编程技术网

Javascript ajax数据以10行的形式显示在表中

Javascript ajax数据以10行的形式显示在表中,javascript,php,jquery,mysql,ajax,Javascript,Php,Jquery,Mysql,Ajax,我有一个ajax函数,它根据输入的信息从数据库中选择数据。我希望这些信息以如下格式出现在一个表中 系统Id |姓|名|中名|地址 这是我的ajax $.ajax({ type: 'POST', url: '../include/OwnerInformation.php', dataType: "json", data: { lastname: last_name, firstname: first_name, sys

我有一个ajax函数,它根据输入的信息从数据库中选择数据。我希望这些信息以如下格式出现在一个表中

系统Id |姓|名|中名|地址

这是我的ajax

$.ajax({
    type: 'POST',
    url: '../include/OwnerInformation.php',
    dataType: "json",
    data: {
        lastname: last_name,
        firstname: first_name,
        sysid: sys_id,
        address: address
    },
    success: function(data) {

        console.log(data);
        var tr = ("#searchresults");
        for (var i = 0; i < data.length; i++) {
            tr = $('<tr/>');
            tr.append("<td>" + "<a  id=" + data[i].sys_id + " href='#' value='" + data[i].sys_id + "'>" + data[i].sys_id + "</a>" + "</td>");
            tr.append("<td>" + data[i].firstname + "</td>");
            tr.append("<td>" + data[i].middlename + "</td>");
            tr.append("<td>" + data[i].lastname + "</td>");
            tr.append("<td>" + data[i].address + "," + "</td>");

            $('table').append(tr);


        }

    }


});
我得到了添加行的教程,但它的行为与我所希望的不一样。我想要的是

结果将显示在特定表中搜索结果表-确定 该表将有固定数量的第10行 如果结果低于10,则如果行数大于10,则该行仍将为10 超过10,它将显示下一个10和下一个和上一个按钮
首先:在第一行搜索结果中,您忘记添加美元符号$。因此,搜索结果为$100

第二:您不应该为此类任务重新分配变量

最后。我的解决方案:

var table = $("#searchresults");
for (var i = 0; i < 10; i++) {
    if(data[i]==null)
        data[i] = {};
    var tr = $('<tr/>');
    tr.append("<td>" + "<a  id=" + data[i].sys_id + " href='#' value='" + data[i].sys_id + "'>" + data[i].sys_id + "</a>" + "</td>");
    tr.append("<td>" + data[i].firstname + "</td>");
    tr.append("<td>" + data[i].middlename + "</td>");
    tr.append("<td>" + data[i].lastname + "</td>");
    tr.append("<td>" + data[i].address + "," + "</td>");
    table.append(tr);
}
对于你的2号: 只用

for (var i = 0; i < 10; i++)
然后,如果数据[i]为null,则可以为数据[i]实例化空值

对于您的3号:


您应该编辑您的php,使其接受类似table.php?limit=10&startRow=10的内容。这将获取第二页

它现在做什么?什么是不正确的行为?它显示了所有表的结果,我在页眉中有表,在正文中有表,在页脚中也有表。这是因为$'table'-它意味着所有表。将其更改为$'table',并使用正确的表ID what is var tr=searchresults;?。您可以在声明后覆盖它。这是表吗?已经尝试过$'searchresults'。appendtr;没有结果,但使用$'table'。appendtr;所有表格显示结果I能够与Oleg Dubas爵士评论一起工作2和3怎么样?Oleg Dubas第2行和第3行评论?2.表格将有固定数量的第10行第3行。如果结果低于10行,则该行仍将为10行如果行大于10,则将显示下一个10行以及下一个和上一个按钮OK,因此searchresults将是你的元素。你要把一些内容放进去。很抱歉,我需要更正我的代码。无论如何,你都要迭代10个对象。因此,在for循环上设置一个固定长度。然后,当要显示的对象用完时,我们有一个空检查器将该行分配给一个空白对象。简单地防止程序崩溃。也会导致剩余的行显示为空白或内有空文本。对于数字3,当我将select from php的值返回到ajax时,我不会将搜索限制为10,我只搜索可能的结果..这不可能处理分隔10个条目的问题吗?我需要限制它吗?如果是这种情况,我需要再次启动搜索是吗?是的,您可以将ajax结果保存到一个变量中,然后创建另一个默认为0的变量pageNumber。每次要刷新表时,请使用此循环fori=limit*pageNumber;这对于我的级别来说有点复杂,先生,还有其他方法吗?打印所有行,但使用css或隐藏它。隐藏每行的集合id作为行id,例如:row-0,row-1这是执行此操作的代码:var tr=$;然后,仅当id/10*页码>=1时才显示行