Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Porcjowanie wyników w losowej kolejności
Forum PHP.pl > Forum > Przedszkole
equuleus
Chciałabym podzielić wyniki zapytania mysql na strony. Znalazłam taki kod:
  1. include ('mysql_connect.php');
  2. $result = mysqli_query($con,"SELECT ID_zdjecia, sciezka FROM zdjecia");
  3. $row = mysqli_fetch_array($result);
  4.  
  5. $ile = mysqli_num_rows($result); //ilosc wszystkich rekordow (nie stron !!)
  6. $na_strone = 5; //tu podajesz ile rekordow na stronie max.
  7. $stron = ceil ($ile / $na_strone); //tutaj masz ilosc stron zaokraglanych w gore
  8.  
  9. for ($i = 0; $i < $stron; $i++)
  10. echo ' <a href="?strona='.($i+1).'">strona '.($i+1).'</a> '; //tak wyswietlasz numery;
  11.  
  12. echo "<br>";
  13.  
  14. if (!isset($_GET['strona'])) $strona = 1; else $strona = (int)$_GET['strona'];
  15. $result = mysqli_query($con,"SELECT sciezka FROM zdjecia ORDER BY RAND() LIMIT ".(($strona-1)*$na_strone).','.$na_strone); // tak odczytujesz
  16.  
  17. while($row = mysqli_fetch_array($result))
  18. {
  19. echo $row['sciezka'].'<br>';
  20. }
  21.  


KOLEJNOŚĆ LOSOWA

Kod działa, ALE przy każdym wejściu na stronę wyników (bądź odświeżeniu) dochodzi do kolejnego zapytania mysql co powoduje każdorazową rotację wyników. Chciałabym aby konkretny klient przy konkternym wyszukiwaniu miał możliwość odświeżania stron ze STAŁYMI wynikami zapytania. Tak aby np na str 1 były te same wyniki w tej samej kolejności, zarówno po jej odświeżeniu jak i po powrocie np ze str 2. itd. Dopiero kolejne wyszukiwanie ma spowodować zmianę kolejności.
JAk powinnam zabrać się do takiej funkcjonalności?


Beniooo
Dodaj mu cookie w formacie STRONA-ID1,ID2,ID2...
A później sprawdzaj czy takie cookie istnieje, i wywołuj odpowiednie zapytania pobierające ścieżki z bazy z rekordu o danym id.
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.