![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tworzę prosty skrypt z testem wypisującym pytania wraz z kilkoma wariantami odpowiedzi, z czego jedna jest poprawna.
Struktura tabel w MYSQL wygląda następująco: Tabela testy: id nazwa data czas_trwania suma_pytan aktywacja ---------------- Tabela pytania: id id_testu tresc_pytania ilosc_odpowiedzi ---------------- Tabela odpowiedzi: id id_pytania id_testu odpowiedz poprawna Problem pojawia się w momencie wypisywania pytania w z przyporządkowanymi do niego odpowiedziami.
Daje to wynik: tresc_pytania odpowiedz pytanie1 ala2 pytanie1 ala1 pytanie2 kija 1 pytanie2 kija 2 pytanie3 er4 pytanie3 er3 pytanie3 2 pytanie3 1 Oczywiście podczas wypisywania na stronie w {section}, pytanie przy każdej odpowiedzi dubluje się. Natomiast ja chciałbym uzyskać taki efekt: 1. pytanie1 odp1 odp2 odp3 2. pytanie2 itd. Próbowałem już z joinem, grupowaniem (wypisywało tylko jedną odp. dla każdego pytania), zapytaniami zagębionymi i wieloma innymi sposobami nie osiągając zamierzanego celu. Proszę o pomoc ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
A co stoi na przeszkodzie, jak dostajesz wynik w takiej formie ? Przecież masz wszystkie dane które Ci potrzebne, tylko za pomocą PHP zrobić filtrowanie, czy tam wyświetlanie tego co Ci potrzebne.
-------------------- :)
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Tego też próbowałem, kombinowałem z for'em i innymi niestety nie udało się
![]() Mam wszystko w jednej tabeli:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
po 6 linijce daj takie coś
do templatki dajesz $newRs zamiast $rs Kod {foreach from=$pytania_i_odpowiedzi item = m} Pytanie : {key($m)} <br /> {foreach from=$m item = n} {$n} <br /> {/foreach} {/foreach} Tak proponuję, nie wiem czy czegoś nie przekombinowałem. -------------------- :)
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
takie zapytanie zwróci Ci: treść pytania | odpowiedź A,odpowiedź B, odpowiedź C później w PHP za pomocą explode możesz to rozbić do tablicy. -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 447 Pomógł: 191 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
też myślałem o tym rozwiązaniu... ale co jeśli pytanie zawiera przecinek ?
![]() -------------------- :)
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 709 Pomógł: 176 Dołączył: 24.10.2010 Ostrzeżenie: (0%) ![]() ![]() |
Można tak:
![]() -------------------- http://d3ut3r.wordpress.com/ | mysql_* jest przestarzałe UŻYWAJ PDO!
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 10.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję wam serdecznie za pomoc i wskazówki
![]() Wykorzystałem to co zaproponował peter13135 i po drobnej zmianie:
wszystko wyświetla się tak jak chciałem. (klikam pomógł bo się należy ![]() Pozdrawiam |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 6.07.2025 - 09:20 |