Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [SQL][PHP]Wyświetlanie x rekordów i x następnych
Forum PHP.pl > Forum > Przedszkole
goku900
Siema, czy wie ktoś jak wyświetlić pierwsze (DESC LIMIT 10) 10 rekordów i potem kolejne 10?
motyl-pl
DESC LIMIT 10, 10
goku900
Niezbyt działa bo chcę zrobić coś tego typu:
  1. <?php
  2. if($_GET['page'] == "1"){
  3. //wyświetlanie 10 wyników
  4. }
  5. ?>

I tak dalej, że jeśli $_GET['page'] == "2" to kolejne 10.
trueblue
I jak będziesz miał 100 stron, to zrobisz 100 warunków?
Poszukaj informacji na temat stronicowania PHP+MySQL.
motyl-pl
  1. <?php
  2. $page = (int) $_GET['page'];
  3. $pageOffset = $page * 10;
  4.  
  5. $query = mysql_query("SELECT * FROM .. LIMIT 10, $pageOffset"); // nie użwaj starego mysql!
  6. ?>
goku900
Cytat(motyl-pl @ 9.02.2017, 17:00:04 ) *
  1. <?php
  2. $page = (int) $_GET['page'];
  3. $pageOffset = $page * 10;
  4.  
  5. $query = mysql_query("SELECT * FROM .. LIMIT 10, $pageOffset"); // nie użwaj starego mysql!
  6. ?>

Dzięki o co chodzi ze starym mysql?
motyl-pl
wycofany jest używaj mysqli
viking
Jak zajrzysz kiedyś do dokumentacji jakiejkolwiek funkcji mysql np http://php.net/manual/en/function.mysql-query.php to masz wielki warning na czerwono już od kilku lat chyba. Masz tam wszystko opisane. Ale patrząc na pytanie podstawowe, raczej nie lubisz czytać dokumentacji wink.gif
goku900
Oke, ale jak teraz użyłem twojego kodu jest problem. Mój kod:
  1. if(isSet($_GET['page']) && $_GET['page'] !== ""){
  2. $page = filtruj($_GET['page']);
  3. $pageOffset = $page * 5;
  4. $zapytanie = mysql_query("SELECT * FROM memes WHERE place='index' ORDER BY id DESC LIMIT 5, ".$pageOffset.""); // nie użwaj starego mysql!
  5. }else{
  6. $zapytanie = mysql_query("SELECT * FROM memes WHERE place='index' ORDER BY id DESC LIMIT 5");
  7. }

I jeśli link wygląda tak:
  1. index.php?page=2

Wyświetla się tylko jeden rekord. Co robić?

Dodam, że do wyświetlania używam pętli while, php nie wywala błędów na stronie:
  1. if(isSet($_GET['page']) && $_GET['page'] !== ""){
  2. $page = filtruj($_GET['page']);
  3. $pageOffset = $page * 5;
  4. $zapytanie = mysql_query("SELECT * FROM memes WHERE place='index' ORDER BY id DESC LIMIT 5, ".$pageOffset.""); // nie użwaj starego mysql!
  5. }else{
  6. $zapytanie = mysql_query("SELECT * FROM memes WHERE place='index' ORDER BY id DESC LIMIT 5");
  7. }
  8. if($data['access'] == 0){
  9. if(mysql_num_rows($zapytanie) > 0) {
  10. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  11. while($r = mysql_fetch_assoc($zapytanie)){
  12. $zap = mysql_query("SELECT * FROM users WHERE login='".$r['nick']."'");
  13. $wyn = mysql_fetch_assoc($zap);
  14. echo '<div id="mem">
  15. '.$r['title'].' <small>'.$r['add_date'].' &nbsp; Dodał/a: <a href="profile.php?id='.$wyn['id'].'">'.$r['nick'].'</a></small>
  16. <a href="meme.php?id='.$r['id'].'"><img src="images_memes/'.$r['meme_name'].'" alt="'.$r['title'].'" width="600" height="700"/></a>
  17. <a href="" onclick="add(\'plus\', \''.$r['id'].'\'); return false"><font color="green">Dobre ('.$r['plus'].')</font></a> <a href="" onclick="add(\'minus\', \''.$r['id'].'\'); return false"><font color="red">Słabe ('.$r['minus'].')</font></a>
  18. </div>';
  19. }
  20. }else{
  21. echo 'Brak memów do wyświetlenia!<br>';
  22. }
  23. }
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.