![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 316 Pomógł: 4 Dołączył: 22.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Interesuje mnie czy jest możliwość aby wyciągnąć losowy rekord z bazy ale aby po odświeżeniu strony ciągle był ten sam? Myślałem aby wylosować a następnie dodać do bazy i z powrotem wyciągnąć . Na razie mam takie zapytanie które wyciąga losowy rekord:
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 763 Pomógł: 117 Dołączył: 15.03.2010 Skąd: void Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem, ze działania zegara tłumaczyć nie muszę (IMG:style_emoticons/default/winksmiley.jpg)
Natomiast skrypt PHP wykonuje zapytanie do bazy danych, szuka usera w tabeli user_name z tym, ze tylko tych, którzy mają id>0. ORDER BY to nic innego jak kolejność wyszukiwania rekordów w tabeli. Można przeszukiwać według id (wylosuje tylko 1 rekord bo LIMIT ustawiony jest na 0,1 - zero lub max. jeden, natomiast jeśli ustawilbys LIMIT na np. 0,5 to wylosuje kolejno id od 1 do 5), według daty, nazwy użytkownika... praktycznie wszystkiego. ORDER BY RAND() to wyszukiwanie losowe... niezależnie od id, nazwy użytkownika itp... LIMIT 0,1 oznacza, ze wyników będzie od 0 do 1 (zero bo może zdarzyć się ze zabraknie użytkowników i wtedy nie wyświetli się błąd). Gdybyś ustawił na 0,7 to wyników by było od 0 do 7 (minimum 0, maximum 7). To co masz dalej przy if oznacza, ze jeśli rozwiazanie jest != 0 (tzn. jest jakiekolwiek) to przechodzi do wyświetlenia wylosowanego użytkownika. Ten fragment wyświetla wylosowanego użytkownika: $wylosowany = mysql_result($losowanie,"user_name"); A i... Popraw mysql_result($losowanie,"user_name") na to: mysql_result($losowanie,"users") bo mam wrażenie ze było źle... Ten post edytował modern-web 24.10.2010, 20:51:31 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 13:40 |