Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Laden Sie Inhalte von MySQL beim Scrollen mit AJAX-Post

Das ist einfach falsch:

$from = htmlspecialchars(stripslashes(mysql_real_escape_string($_POST['from'])));

Wenn from soll eine Ganzzahl sein, verwenden Sie einfach:

$from = (int) $_POST['from'];

Ich sehe auch, dass diese Nummer von einer ID im HTML kommt und IDs nicht mit einer Nummer beginnen können.

Bearbeiten: Ein zusätzliches Problem besteht darin, dass Sie die ID in Ihrer SQL-Abfrage nicht auswählen, wenn from existiert, und selbst wenn Sie das tun würden, kann dieser Ansatz in Zukunft zu Problemen führen, wenn Sie Datensätze löschen und Ihre IDs nicht mehr fortlaufend sind.

Was das erste Problem angeht, kann ich das in Firebug-Änderungen lösen:

 if($(window).scrollTop() + $(window).height() == $(document).height()) {

zu:

 if( ($(window).scrollTop() + $(window).height()) > ($(document).height() -  10) ) {

Änderung 2: Um Ihr Problem mit nicht sequentiellen IDs zu lösen, wäre der einfachste Weg, from zu berechnen in Javascript mit so etwas wie:

dataStr = "from=" + $(".n").length;    // just count the number of elements you are showing already