Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rand() - jak losuje ?
Forum PHP.pl > Forum > Bazy danych > MySQL
bronx
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 smile.gif czy losuje jeden, wyświetla go, i losuje spowrotem drugi ze wszystkich, czy losuje jeden, a potem drugi z pozostałych

pozdrawiam
mike
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 exclamation.gif!
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.