2017-12-07 12 views
0

私はAngularJSフレームワークのngInfiniteScroll依存関係です。 https://sroze.github.io/ngInfiniteScroll/無限スクロール行が重複します

テーブルに割り当てられています。

<table infinite-scroll="loadMore()" ng-controller="LastBookingsCtrl"> 

ここはjavascriptファイルのloadMore関数です。

$scope.loadMore = function() { 
$http.get("last.php?start=" + $scope.currentLoadIndex) 
    .then(function (res) { 
     if (res.data.length > 0) { 
      var count = 0; 
       for (var i = 0; i < res.data.length; i++) { 
        $scope.lastBookings.push(res.data[i]); 
        count++; 
       } 
      $scope.currentLoadIndex += count; 
     } 
    }); 
}; 

そして、私はload.phpの私のmysqlのクエリが正しいと思うが、私はよく分かりません。

$start = $_GET['start']; 
$query = "SELECT * FROM `performs` ORDER BY id DESC LIMIT ".$start.", 20"; 

これは、可変数から私のmysql開始から20行を与えます。

しかし、もう一度上下にスクロールすると、何とか複製されます。

+0

、これhttps://stackoverflow.com/questions/60174/how-can-iをお読みください:別名現在のリストの長さに次のインデックスを設定してみてください-prevent-sql-injection-in-php – Skwal

+0

修正されました。これを投稿して申し訳ありません、削除することができます。 – enucar

+0

@enucarあなたが共有してもらわなければ何が問題になったのですか?それは誰かにとって有益なことかもしれません。また、SkwalのようなSQLインジェクションに対するクエリのセキュリティを考慮する必要があります。 –

答えて

0

$scope.currentLoadIndexthen()から正しく更新されていないため、毎回同じ結果になると思います。あなたの質問に無関係のビット

$http.get("last.php?start=" + $scope.lastBookings.length)

関連する問題