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ę?? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 24 Pomógł: 1 Dołączył: 25.03.2006 Ostrzeżenie: (0%)
|
1 - jeśli pytań w teście jest określona liczba (np. 20) - to pobrać cały zestaw pytań od razu i trzymać w sesji
2 - Pytań może być dowolna liczba - zapisywać użyte pytania w sesji i i przy losowaniu nowego pytania odrzucać już użyte pytania albo w samym select (WHERE id NOT IN (1,3) ) albo rekurencyjnie w PHP dopóki nie wylosujesz pytania jeszcze nie używanego. Wybór metody zależy od stosunku pzeciętnej ilości pytań wyświetlanej na usera do ogólnej liczby wszystkich dostępnych pytań i po prostu trzeba sobie samemu sprawdzić co będzie wydajniejsze. 3 - jeśli wyniki odpowiedzi zapisujesz na bazie można napisać select losujący pytanie na które user jeszcze nie ma zapisanej odpowiedzi (select zależny od kontrukcji tabel) |
|
|
|
blade-mrn [MySQL][PHP] Losowe wyświetlanie pytań. 7.11.2009, 11:45:46
Diabl0 ORDER BY RAND()
http://dev.mysql.com/doc/refman/5... 7.11.2009, 11:48:32
blade-mrn Wszystko fajnie bo ORDER BY RAND() działa tyle że ... 7.11.2009, 14:44:55
wonski Musisz sobie zapisywać (np. sesja lub $_GET),... 7.11.2009, 14:58:38
qrzysztof Pobrać do tablicy (trzymać w sesji). Tablicę RAZ z... 7.11.2009, 19:39:39
marcio A zwykly select distinct() z order by rand() nie w... 7.11.2009, 19:58:38
thek Skoro już jesteśmy przy temacie tablic... To może ... 7.11.2009, 20:16:11
qrzysztof Cytat(marcio @ 7.11.2009, 19:58:38 ) ... 7.11.2009, 20:23:59
blade-mrn Przede wszystkim dzięki za pomoc.
Nie jako odpowia... 8.11.2009, 15:21:29
marcio [PHP] pobierz, plaintext $result = $db->query... 8.11.2009, 18:28:21
blade-mrn Sesja oo według mojego założenia ma przechowywać t... 8.11.2009, 19:40:44 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 19:41 |