To jest po prostu złe:
$from = htmlspecialchars(stripslashes(mysql_real_escape_string($_POST['from'])));
Jeśli from
ma być liczbą całkowitą, wystarczy użyć:
$from = (int) $_POST['from'];
Widzę też, że ten numer pochodzi z identyfikatora w html, a identyfikatory nie mogą zaczynać się od liczby.
Edytuj: Dodatkowym problemem jest to, że nie wybierasz identyfikatora w zapytaniu sql, jeśli from
istnieje i nawet jeśli to zrobisz, takie podejście może prowadzić do problemów w przyszłości, gdy usuniesz rekordy, a Twoje identyfikatory nie będą już sekwencyjne.
Jeśli chodzi o pierwszy problem, mogę go rozwiązać przy zmianie firebuga:
if($(window).scrollTop() + $(window).height() == $(document).height()) {
do:
if( ($(window).scrollTop() + $(window).height()) > ($(document).height() - 10) ) {
Edytuj 2: Aby rozwiązać problem z niesekwencyjnym identyfikatorem, najprostszym sposobem byłoby obliczenie from
w javascript używając czegoś takiego jak:
dataStr = "from=" + $(".n").length; // just count the number of elements you are showing already