mysql inbetween elemanlarını seçmek?

2 Cevap php

Ben php pagination uygulamak çalışıyorum. Ben arka uç veritabanı olarak Mysql kullanıyorum. Ben sayfalama mantığını uygulamak çalışıyorum.

I would be having lots of record. But the user will see only 10 at a time. Now to show the first page, i do a

   SELECT * from USERS LIMIT 10. 

Şimdi önümüzdeki 10 almak ve sonraki 10 kayıt i bir sorgu yazmak mümkün değil duyuyorum. Beni sayfalama mantığını destekleyen kayıtlar arasında getir yardımcı olun. Pagination için başka önerileriniz varsa da sağlar.

2 Cevap

Sen OFFSET seçeneğini kullanmanız gerekir.

SELECT * FROM Users LIMIT 10 OFFSET 10 (or 20, or 30);

Sonraki (ya da sayfa numarası) çarptı ve istediğiniz kayıtları almak olacak zaman sadece istekte başlangıç ​​konumunu geçmek şekilde.

MySQL limiti özelliği iki argüman alabilir:

select * from USERS limit 10,10

Yukarıdaki ofset MySQL satır 0 dayalı değil, 1 olduğunu akılda 10. satıra. Bear başlayarak 10 satırları almak istiyorum. İlk argüman başlayan satır, ikinci sayfa boyutudur.

Lütfen sayfa boyutu tutarlı olup olmadığını Ayrıca, yapmanız gereken tüm Geçerli sayfada (sıfıra varsayılan) geçmektedir. İşte o zaman bir sayfa * boyutu gibi başlangıç ​​satırı belirtmek için izin verecek.