sql >> Databasteknik >  >> RDS >> Mysql

Infinite Scroll med MySQL Data

Jag såg din kod i ett annat svar, och jag skulle rekommendera att använda LIMIT-funktionen i MySql istället för att kompensera för värdena. Exempel:

SELECT * FROM all_posts ORDER BY post_id DESC LIMIT '".(((int)$page)*5)."',5

Detta tar bara ett sidnummer i AJAX-förfrågan och får offset automatiskt. Det är en konsekvent fråga och fungerar oberoende av de senaste resultaten på sidan. Skicka något som page=1 eller page=2 i din jQuery-kod. Detta kan göras på ett par olika sätt.

Räkna först antalet element som är konstruerade på sidan och dividera med antalet på sidan. Detta kommer att ge ett sidnummer.

För det andra kan du använda jQuery och binda det aktuella sidnumret till brödtexten:

$(body).data('page', 1)

Öka den med en för varje sidladdning.

Att göra detta är verkligen det bättre sättet att gå, eftersom det använder en fråga för alla operationer och kräver inte en massa information om data som redan finns på sidan.

Det enda att notera är att denna logik kräver att den första sidans begäran är 0, inte 1. Detta beror på att 1*5 kommer att utvärderas till 5 och hoppar över de första 5 raderna. Om det är 0, kommer det att utvärderas till 0*5 och hoppa över de första 0 raderna (eftersom 0*5 är 0).

Låt mig veta alla frågor du har!



  1. Hur man tar bort nollan när heltalsdelen är noll i Oracle

  2. Hur får man en lista över månader mellan 2 givna datum med hjälp av en fråga?

  3. Access-kompatibel Wide World Importers SQL Server Database

  4. SQL-fråga för att få summan av alla kolumnvärden i den sista raden i en resultatuppsättning tillsammans med radsumma (gruppera efter)