Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Losowe wyświetlanie pytań.
blade-mrn
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 11
Dołączył: 20.10.2009

Ostrzeżenie: (0%)
-----


Witam,
Mam w bazie danych w jednej tabeli zapisane pytania i w drugiej przypisane im odpowiedzi. Pytania są wyświetlane na stronie pojedynczo za pomocą stronicowania.
Chciałbym aby te pytania za każdym razem wyświetlane były w innej kolejności (bez powtórzeń) tyle że nie wiem jak można taki efekt uzyskać. Ma ktoś jakąś radę??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
qrzysztof
post
Post #2





Grupa: Zarejestrowani
Postów: 220
Pomógł: 19
Dołączył: 25.04.2009

Ostrzeżenie: (0%)
-----


Pobrać do tablicy (trzymać w sesji). Tablicę RAZ zrandomizować. A potem zwykłym array_pop.

Funkcja mieszająca tablicę:

  1. public static function randomizeArray ($inArray) #miesza tablice przekazana w argumencie (te same elementy ale w losowej kolejnosci)
  2. {
  3. $tempArray=array();
  4. $inArrayLength=count($inArray);
  5. for ( $i=0; $i < $inArrayLength; $i++ )
  6. {
  7. $rnd=rand();
  8. $tempArray[$i]=$rnd;
  9. }
  10.  
  11. asort($tempArray); #sortuje tablice alfabetycznie (z zachowaniem kluczy)
  12. $randomizedArray=array();
  13.  
  14. $tempKeys=array_keys($tempArray); #zwraca klucze tablicy
  15. foreach( $tempKeys as $key )
  16. {
  17. $randomizedArray[]=$inArray[$key];
  18. }
  19.  
  20. return $randomizedArray;
  21. }
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 12:21