Mysql
 sql >> Base de données >  >> RDS >> Mysql

Charger le contenu de MySQL sur le défilement avec la publication AJAX

C'est tout simplement faux :

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

Si from est censé être un entier, utilisez simplement :

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

Je vois également que ce numéro provient d'un identifiant dans le code HTML et que les identifiants ne peuvent pas commencer par un numéro.

Modifier : Un problème supplémentaire est que vous ne sélectionnez pas l'ID dans votre requête SQL si from existe et même si vous le faisiez, cette approche peut entraîner des problèmes à l'avenir lorsque vous supprimez des enregistrements et que vos identifiants ne sont plus séquentiels.

Concernant le premier problème, je peux le résoudre en changeant Firebug :

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

à :

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

Modification 2 : Pour résoudre votre problème d'ID non séquentiel, le plus simple serait de calculer from en javascript en utilisant quelque chose comme :

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