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