![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 372 Pomógł: 1 Dołączył: 13.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Jednym z modułów na mojej stronie jest losowanie dwóch randomowych obrazów, po odświeżeniu strony losują sie kolejne 2 obrazki na mysql RAND() - pytanie jak zrobić, aby to nie były te same obrazki. (Wiadomo, jak jst mało obrazów to zaczną sie powtarzać) Myślałem żeby zapisać już wylosowane w formie ciasteczka i zapisywać tam ID dwóch obrazków np: Kod 43 - 32 65 - 89 . . . itd. Pytanie jak zrobić sensowny warunek w mysql, żeby coś takiego zadziałało majac takie zapytanie: Kod SELECT * FROM obrazki ORDER BY RAND() LIMIT 2 Musiałbym zrobić coś takiegoKod SELECT * FROM obrazki WHILE (id != 43 AND id != 32) OR (id != 65 AND id != 89) [itd..] ORDER BY RAND() LIMIT 2 Jest na to jakaś lepsza metoda? Ten post edytował Watt 30.10.2012, 19:42:02 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 2 Dołączył: 4.07.2008 Ostrzeżenie: (30%) ![]() ![]() |
moim sposobem możesz wprowadzić numery, które były do bazy (nowej tabeli) bądź pliku i potem sprawdzać... inaczej raczej tego nie zrobisz... musisz zapisać gdzieś kombinacje jakie były (numery id zdjęć) i potem nie dopuścić do powtórki.
np. tabela (id_kombinacji int(10) not null unsigned primary_key auto_inc ; id_one int (10) not null unsigned; id_two int(10) not null unsignek) wpisujesz rekord do tej tabeli, gdy wyświetlasz zdjęcia a następnie przed wyświetleniem kolejnej kombinacji sprawdzasz numer z jedną kolumną (np. id_one) jeśli jest zgodność to potem z id_two dla danych rekordów... i już wiesz, wyświetlasz lub losujesz ponownie i znów sprawdzasz... Ten post edytował punoljoe 30.10.2012, 21:00:00 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 11:06 |