Mysql
 sql >> Database >  >> RDS >> Mysql

Carica il contenuto da MySQL sullo scroll con il post AJAX

Questo è semplicemente sbagliato:

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

Se from dovrebbe essere un numero intero, basta usare:

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

Vedo anche che quel numero proviene da un ID nell'html e gli ID non possono iniziare con un numero.

Modifica: Un ulteriore problema è che non stai selezionando l'ID nella tua query sql se from esiste e anche se lo faresti, questo approccio può causare problemi in futuro quando elimini i record e i tuoi ID non sono più sequenziali.

Riguardo al primo problema, posso risolverlo cambiando firebug:

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

a:

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

Modifica 2: Per risolvere il tuo problema di ID non sequenziale, il modo più semplice sarebbe calcolare from in javascript usando qualcosa come:

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