Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP] order by + desc
Forum PHP.pl > Forum > Przedszkole
RaiZeN
mam sobie taki kod:
  1. $sql1 = "SELECT * FROM posts";
  2. $result1 = $conn->query($sql1);
  3.  
  4. $posts = mysqli_num_rows($result1);
  5. $pages = floor($posts/10+1);
  6.  
  7. if(isset($_GET['page']))
  8. {
  9. $page = $_GET['page'];
  10. $since = $page * 10 - 10;
  11. $to = $since + 10;
  12. $sql = "SELECT * FROM posts WHERE id>".$since." LIMIT 10";
  13. }
  14. else
  15. {
  16. $page = '1';
  17. $since = '0';
  18. $sql = "SELECT * FROM posts WHERE id>".$since." LIMIT 10";
  19. }
  20.  
  21. if($page>$pages)
  22. {
  23. header('location: '.$settings['file']);
  24. }
  25.  
  26. $pagek = $page-1;
  27. $pagekk = $page+1;
  28.  
  29.  
  30. $result = $conn->query($sql);
  31.  
  32. if ($result->num_rows > 0)
  33. {
  34. while($row = $result->fetch_assoc())
  35. {
  36. post($row['title'], $row['author'], $row['date'].' at '.$row['hour'], $row['img'], $row['id']);
  37. }
  38. }
  39. else
  40. {
  41. echo "<h3>There is no posts right now.</h3>";
  42. }
  43.  
  44. $conn->close();


wyswietla to posty z bazy danych, 10 na strone, wszystko dziala ale problem zaczyna sie gdy dodam ORDER BY id DESC - wtedy na kazdej stronie pojawia sie to samo (10 postow od konca). jakas rada na to?
kapslokk
Do stronicowania używa się limitów, a nie jakichś dziwnych warunków where id>$x. Poszukaj sobie LIMIT offset
RaiZeN
dzieki, ale to jednak nie jest odpowiedz na moje pytanie
kapslokk
A spróbowałeś chociaż?
Zakładam, że w tabeli posts pole id ma auto_increment. Jeżeli wstawisz tam 30 rekordów, pozniej usuniesz 10 pierwszych, to najstarszy rekord bedzie mial id 11. Czyli dla 1 i 2 strony bedzie wybieralo te same rekordy. To juz jest bledem, ktory zobaczysz przy order by id asc. A teraz desc. Bedac na 2 stronie chcesz pobrac rekordy, ktore sa wieksze od 10. Czyli pobierasz od 11 do 30. Potem sortujesz je po ID desc. Czyli na kazdej stronie masz 10 najnowszych rekordow.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.