Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> rand() - jak losuje ?
bronx
post
Post #1





Grupa: Zarejestrowani
Postów: 333
Pomógł: 0
Dołączył: 4.03.2004

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


witam

mam takie małe pytanko odnośnie "rand()"

a wieć powiedzmy ze mam w tabeli 5 rekordów i losuje dwa za pomocą "rand()" i czy może sie zdarzyć że zostaną wylosowane dwa takie same ? Bo chodzi mi o to, żeby nie było takiej możliwości. Żeby zawsze było, że wylosowany rekord jest inny od wylosowanego wcześniej

i własnie dlatego chciałem się zapytać jak to działa (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) czy losuje jeden, wyświetla go, i losuje spowrotem drugi ze wszystkich, czy losuje jeden, a potem drugi z pozostałych

pozdrawiam
Go to the top of the page
+Quote Post
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Manual MySQL :: Mathematical Functions mówi:
Cytat
RAND() , RAND(N)

Returns a random floating-point value in the range from 0 to 1.0. If an integer argument N is specified, it is used as the seed value (producing a repeatable sequence).


RAND() nie losuje ilości elementów, tylko liczbę z danego przedziału.

Można ponadto zastosować RAND() do wosowania rekordów, ale inaczej niż myślisz.

  1. SELECT *
  2.  
  3. FROM TABLE ORDER BY RAND()
  4. LIMIT 1


i ilość rekordów, które chcesz dostać określasz w LIMIT.

Cytat
czy losuje jeden, wyświetla go, i losuje spowrotem drugi ze wszystkich, czy losuje jeden, a potem drugi z pozostałych

Nie martw się, rekordy będę różne. To zapytanie miesza rekordy i wybiera kilka (ile? określasz w LIMIT).

ALE TO WSZYSTKO JAK BYK W MANUALU (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) !
Go to the top of the page
+Quote Post

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: 24.12.2025 - 14:56