拆分SQL查询将记录返回到数组

时间:2016-09-19 15:00:48

标签: javascript sql arrays sql-server sql-server-2014

嘿所有我想将返回的查询记录拆分为“分页”类型的东西,因此我想显示前51条记录,然后将其余的数据添加到数组中,以便稍后在用户想要移动时获取到另一页。

我可以在页面上显示前51个结果,但我找不到将其余记录除以51的方法。

到目前为止我的代码:

var arrayHTML       = [];

for(var key in data){
    if(data.hasOwnProperty(key)) {
        if (totalX >= 51) {
            //Start putting the results into an array. 51 results per array
        }else if (x > 1) {
            x = 0;
            _userName = data[key].fname + ' ' + data[key].lname;

            populateCards(_userName, 
                          data[key].email, 
                          data[key].img, 
                          data[key].school, 
                          data[key].userID, 
                          true,
                          data[key].encoded);
        } else {
            _userName = data[key].fname + ' ' + data[key].lname;

            populateCards(_userName, 
                          data[key].email, 
                          data[key].img, 
                          data[key].school, 
                          data[key].userID, 
                          false, 
                          data[key].encoded);
            x++;
        }

        totalRowCnt = data[key].totalRows;
        _tmpMath = Math.round(totalRowCnt / totalNum);
        total++;
        totalX++;

        console.log('totalX: ' + totalX)
    }
}

在点击51后,它会进入 if(totalX> = 51){,这就是我试图弄清楚如何将其余部分分成51个数组槽。

上面的代码循环,直到它到达每个第三条记录,然后放置< br /> 之后,它有一行3条记录,然后它一直这样做,直到它达到记录51. 所以17行,每行3条记录。 true 告诉函数放置< br /> 结尾,而 false 告诉函数不要放< br /> 尚未。

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:0)

下面的JavaScript代码:

将此功能添加到您的代码中:

udp

你可以像这样使用这个功能:

// this is a simple pager function that return part of the array you want
//  so you can easily loop over it
// @param page you want
// @param how many values you want
// @return the sliced array with the parts you want
//     (this will return an empty array if your page is out of bound
//       e.g. when you array only contains less than 51 and you tell it you want page 2)
array_pager = function ( array, page, show ) {
   var start = (page -1) * show; // this sets the offset
   return array.slice( start, start + show);
}