![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 14.01.2004 Skąd: Mragowo Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chciałbym zrobić ankietę opartą o php i MySQL. Ankieta ma zawierać kilkanaście pytań, zarówno z możliwością wyboru tylko jednej odpowiedzi, jak i z możliwością wyboru więcej niż jednej odpowiedzi. O ile to pierwsze wiem jak zrobić, to nie wiem, jak wysłać do bazy informacje, że na dane pytanie ankietowany udzielił na przykład odpowiedzi numer 2 i 5. Czy ktoś mógłby mi podpowiedzieć jak powinienem skonstruować tabele w bazie i jak wpisywać do nich takie informacje. Z góry dziękuję. |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Zawsze możesz skorzystać z uniwersalnego sposobu jakim jest zapis poprzez liczby binarne. Co mam na myśli? Jeżeli ustawiasz prawa to jak może wiesz jest to suma praw odczytu, zapisu, wykonywania ... Jak to w twoim przypadku ma wyglądać? Mamy np. 5 odpowiedzi. 00000 - zero zaznaczonych. 01001 - zaznaczona pierwsza odpowiedź oraz czwarta, po konwersji na system dziesiętny wychodzi 2^0+2^3=9 i tą liczbę zapisujesz do pola
![]() Może ktoś ma inny pomysł ;} -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 14.01.2004 Skąd: Mragowo Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za podpowiedź, ale mam nadzieję, że można to rozwiązać w jakiś prostszy sposób.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 22.04.2004 Skąd: Żoliborz Ostrzeżenie: (0%) ![]() ![]() |
Jedno z najczęstszych rozwiazań:
tabela: ankieta id_ank | nazwa tabela: pytanie id_pyt | id_ank | nazwa tabela: odpowiedź id_odp | id_pyt | nazwa edit--- do tabeli odpowiedź dodaj user'a Ten post edytował popbart 9.01.2005, 16:00:16 -------------------- Visual Basic - kto by pomyślał :)
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 14.01.2004 Skąd: Mragowo Ostrzeżenie: (0%) ![]() ![]() |
W ten sposób można zaprojektować tabele dla ankiety(sondy raczej) z jednym pytaniem i kilkoma odpowiedziami, spośród których wybiera się tylko jedną. A przynajmniej tak mi się wydaje, choć pewnien nie jestem, bo dopiero zaczynam zabawę z php i MyQSL. Myślę, że podpowiedź sf jest bliższa temu, o co mo chodzi, szukam jednak czegoś prostszego. Nie wątpię, że można to zrobic inaczej, tylko pytanie brzmi: jak? Może zna ktoś adres internetowy, pod którym znajdę jakąś podpowiedź.
Jeszcze raz z góry dziękuję. Piotrek |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 255 Pomógł: 0 Dołączył: 22.04.2004 Skąd: Żoliborz Ostrzeżenie: (0%) ![]() ![]() |
Nie rozumiem cię. Przecież ja ktoś wybierze kilka odpowiedzi to do tabeli glos wprowadzasz tyle rekordów.Żeby wyświetlić kto udzielił jakich odpowiedzi wykonujesz odpowiednim zapytaniem a nie strukturą danych. Ciekaw jestem jak w rozwiązaniu sf obliczysz ile kto oddał wszystkich odpowiedzi albo jak wyciągniesz nazwy odpowiedzi(relacje).
edytowane--- W moim przykładzie zabrakło tabel tabela: ankieta id_ank | nazwa tabela: pytanie id_pyt | id_ank | nazwa tabela: odpowiedź id_odp | id_pyt | nazwa tabela: glos id_glos | id_odp | id_user tabela: user id_user | nazwa Ten post edytował popbart 10.01.2005, 09:30:34 -------------------- Visual Basic - kto by pomyślał :)
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Prosciej? proszę bardzo.
Tworzysz w bazie pole varchar a w nim przechowujesz odpowiedzi na dane pytanie oddzielone np, przecinkiem. Obsługa balanlnie prosta (explode, implode). -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 14.01.2004 Skąd: Mragowo Ostrzeżenie: (0%) ![]() ![]() |
Już rozumiem. Wielkie dzięki!
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 22:56 |