Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Załaduj zawartość z MySQL podczas przewijania z postem AJAX

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytanie SQL do policzenia w grupie według określonego warunku

  2. PDOstatement::execute():SQLSTATE[HY093]:Nieprawidłowy numer parametru:liczba powiązanych zmiennych nie odpowiada liczbie tokenów

  3. Wybierz datę MySQL równą dzisiejszej

  4. Żądania utknęły w oprogramowaniu pośredniczącym ActiveRecord::QueryCache

  5. Zrozumienie MySQL TRUNCATE TABLE na praktycznych przykładach