Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Carregar conteúdo do MySQL na rolagem com postagem AJAX


Isso está simplesmente errado:
$from = htmlspecialchars(stripslashes(mysql_real_escape_string($_POST['from'])));

Se from é suposto ser um número inteiro, basta usar:
$from = (int) $_POST['from'];

Também vejo que esse número vem de um id no html e os ids não podem começar com um número.

Editar: Um problema adicional é que você não está selecionando o ID em sua consulta sql se from existe e mesmo que você faça isso, essa abordagem pode levar a problemas no futuro quando você excluir registros e seus IDs não forem mais sequenciais.

Sobre o primeiro problema, posso resolver isso na alteração do firebug:
 if($(window).scrollTop() + $(window).height() == $(document).height()) {

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

Editar 2: Para resolver seu problema de ID não sequencial, a maneira mais fácil seria calcular from em javascript usando algo como:
dataStr = "from=" + $(".n").length;    // just count the number of elements you are showing already