sql >> Database teknologi >  >> RDS >> Mysql

Infinite Scroll med MySQL Data

Jeg så din kode i et andet svar, og jeg vil anbefale at bruge LIMIT-funktionaliteten i MySql i stedet for at udligne værdierne. Eksempel:

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

Dette vil blot tage et sidetal i AJAX-anmodningen og få offset automatisk. Det er én ensartet forespørgsel og fungerer uafhængigt af de sidste resultater på siden. Send noget som page=1 eller page=2 i din jQuery-kode. Dette kan gøres på et par forskellige måder.

Først skal du tælle antallet af elementer konstrueret på siden og dividere med antallet på siden. Dette vil give et sidetal.

For det andet kan du bruge jQuery og binde det aktuelle sidetal til brødteksten:

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

Forøg den med én for hver sideindlæsning.

At gøre dette er virkelig den bedste vej at gå, fordi det bruger én forespørgsel til alle operationerne, og det kræver ikke en masse information om de data, der allerede er på siden.

Den eneste ting at bemærke er, at denne logik kræver, at den første sideanmodning er 0, ikke 1. Dette skyldes, at 1*5 vil evaluere til 5 og springe de første 5 rækker over. Hvis det er 0, vil det evaluere til 0*5 og springe de første 0 rækker over (da 0*5 er 0).

Fortæl mig, hvis du har spørgsmål!



  1. docker postgres pgadmin lokal forbindelse

  2. SQRT() Funktion i Oracle

  3. Sådan laver du en inventardatabase om adgang

  4. SQL Ydeevne UNION vs. OR