排序距离后加载更多项目

时间:2013-06-01 02:06:25

标签: javascript jquery mysql

我正在使用phonegap制作基于位置的应用程序,首先我从网上获取所有数据,这是json格式,然后我将所有数据存储到json数组对象中,然后根据距离对数组对象进行排序,但是我想在排序json数组后每次加载12项,但不知道如何处理它。

我知道当我向网络发送请求时,我可以在mysql中使用限制0,12,但是我无法对所有数据进行排序,因为我每次只能对从网络检索到的12个数据进行排序,是否有办法在对所有数据进行排序后,每次加载12个项目,目的只是为了提高速度,我不想从Web中加载所有数据,并将所有数据附加到列表视图中

任何人都可以给我一些想法,任何帮助将不胜感激。为没有提供任何代码而道歉,因为我还没有对它们进行编码。

这是我破解的代码

$.ajax({
    url: 'http://www.example.com/getdata.php? &format=json',
    dataType: 'json',
    success: function (d) {
        var items = d.posts;
        $.each(items, function (key, val) {
            var d = getDistanceFromLatLonInKm(localStorage.current_latitude, localStorage.current_longtitude, parseFloat(val.post.latitude), parseFloat(val.post.longtitude));
            jsonObj.push({
                title: val.post.title,
                distance: d,
                description: val.post.description
            });
        });
        jsonObj.sort(function (a, b) {
            return parseFloat(a.distance) - parseFloat(b.distance)
        });
        $.each(jsonObj, function (index, data) {
            $("#results").append("<li>" + data.title + data.description + data.distance + "</li>");
        }
        });

1 个答案:

答案 0 :(得分:0)

根据您的请求发送位置,在MySQL中对数据进行排序,然后根据需要返回。