Skocz do zawartości
PL
Szukaj na Pecetowiczu
  • Utwórz konto

Kod na sortowanie rekordów MySQL. Paginacja na stronie.


Rekomendowane odpowiedzi

Witam, Jak mogę zrobić sortowanie rekordów MySQL na stronie. Chodzi o to jak wyświetlić 10 rekordów na stronę i zrobić paginację. 

Dzięki z góry.

Odnośnik do komentarza
Udostępnij na innych stronach

na koniec zapytania:

ORDER BY kolumna ASC LIMIT 1,10

Objaśnienie:

kolumna - nazwa kolumny wg. której ma sortować

1 - od ilu ma pobrać

10 - do ilu ma pobrać

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuję ci. Pobierę te dane z GET i gotowe. Jeszcze raz dziękuję :)

Dodano: 1 Kwiecień 2015, 12:45

A i jeszcze jedno.

Jak obliczyć ile z tego stron wyjdzie ?

Odnośnik do komentarza
Udostępnij na innych stronach

$query = $db->query("SELECT COUNT(*) AS how FROM table");

if($query->num_rows > 0){

$query = $query->fetch_assoc();

$all = (int)$query['how']; //wszystkich rekordów

$pages = ceil($all/10); //wszystkich stron; 10 - liczba rekordów na stronę

}

Odnośnik do komentarza
Udostępnij na innych stronach

A jak pobrac strone ?

Odnośnik do komentarza
Udostępnij na innych stronach

$page = (int)$_GET['p'];


if($page == 0){

 $page = 1;

}


$query = $db->query("SELECT COUNT(*) AS how FROM table");

if($query->num_rows > 0){

 $query = $query->fetch_assoc();

 $all = (int)$query['how']; //wszystkich rekordów

 $pages = ceil($all/10); //wszystkich stron; 10 - liczba rekordów na stronę

}


$of = $page*$pages;

$to = $of+10;

if($page == 1){

 $of = 0;

 $to = 10;

}


$query = $db->query("SELECT * FROM table ORDER BY kolumna ASC LIMIT $of,$to");

if($query->num_rows > 0){

 while($r= $query->fetch_assoc()){

  echo 'Rekord
';

 }

}

Odnośnik do komentarza
Udostępnij na innych stronach

Kontynuuj dyskusję

Dołącz do Pecetowicza, aby kontynuować dyskusję w tym wątku.

  • Dodaj nową pozycję...
  • Dodaj nową pozycję...