Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Losowe wiersze ale posortowane
Forum PHP.pl > Forum > Przedszkole
maviozo
Witam smile.gif jak zawsze z dziwnym problemem. Przerabiam pewien skrypt do quizu, który w domyśle pobiera zawsze wszystkie pytania. Mam go przerobić, by zawsze losował trzy pytania z puli. Akurat to było proste, poprzez ORDER BY RAND().
OK, wiem, że nie jest to szczególnie polecane rozwiązanie poprzez małą wydajność, ale akurat na tym mi nie zależy, bo baza jest śmiesznie mała.
Problem polega na tym, że przy wyświetlaniu odpowiedzi, skrypt korzysta z tego samego fragmentu i... losuje inne odpowiedzi biggrin.gif
Zatem sprawa sprowadza się do:
a) wylosowanie pytań i potem posortowanie ich wg innej kolumny (chociażby id pytania). Nie wiem tylko, jak tego dokonać po strone mysql. 'ORDER BY RAND(), id' nie działa. Zostaje posortowanie wyników po stronie PHP i póki co takie rozwiązanie wdrażam.
cool.gif posortowanie odpowiedzi wg kolejności ze strony pytań. Tylko nie mam pojęcia, jak mogę posortować je wg podanej kolejności. Kiedy korzystam z WHERE id IN (3,5,1) i tak dostaję posortowane pytania (1,3,5).
Proszę o podpowiedź
poli25
Ja bym utworzyl widok i potem odwoływałbym się do widoku skąd mógłbym sorotwać wg wybranej kolumny
maviozo
Doskonała porada! Nigdy wcześniej z tego nie korzystałem, ale wydaje się to być idealnym rozwiązaniem dla mnie. Przynajmniej testując na szybko zapytania w phpmyadminie wszystko zachowuje się jak powinno smile.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.