![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 1 Dołączył: 15.11.2004 Skąd: Mikołów Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Planuję za mojej stronie internetowej zamieszczać co pewien czas jakąś ankietę. Mam w związku z tym pytanie. Jak mam umieszczać te ankiety w bazie, skoro będą dotyczyć różnych tematów, ilość odpowiedzi nie będzie stała we wszystkich ankietach :?: Brak mi pomysłu, jak najlepiej można by to zrobić (IMG:http://forum.php.pl/style_emoticons/default/blink.gif) Ten post edytował Blackhole 25.03.2005, 20:34:21 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 24.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
ja na przyklad, zrobilem to w tem sposob:
kazda ankietka ma 2 szablony: do glosowania oraz do prezentacji wyników. odpowiednie tagi w szablonach sa zamieniane przez silnik na odpowiednie tagi formularzy z automatycznie przydzielana nazwa. wszystkie nazwy przechowuje w tablicy wraz z iloscia wystapien poszczegolnych wartosci. tablica ta przechowywana jest w tabeli w postaci zserializowanej, oprocz tego w tabeli mam pole id, pola ze sciezkami do szablonow ankiety, i inne, mniej wazne. mam nadziej ze cos podpowiedzialem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#3
|
|
Grupa: Przyjaciele php.pl Postów: 2 923 Pomógł: 9 Dołączył: 25.10.2004 Skąd: Rzeszów - studia / Warszawa - praca Ostrzeżenie: (0%) ![]() ![]() |
Nie po to jest baza danych zeby tablice serializowac i trzymac w bazie danych.
To mozna w inny sposob rozwiazac. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 24.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
takie rozwiazanie jest imho proste i wydajne + na mysql. sory nie zauwazylem na jakie forum pisze :/ za to chetnie popatrze co bedzie sie dzialo w tym watku.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 0 Dołączył: 14.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
np tak:
Kod CREATE TABLE ankieta (
id_ankieta int(4), temat char(100). PRIMARY KEY (id_ankieta) ); CREATE TABLE wyniki ( id_wyniki int(4), id_ankieta int(4), nazwa_pola char(100), odpowiedz int(2), PRIMARY KEY (id_wyniki) ); |
|
|
![]() ![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 1 Dołączył: 15.11.2004 Skąd: Mikołów Ostrzeżenie: (0%) ![]() ![]() |
nibytak. Twój sposób wydaje się bardzo profesjonalny, a zarazem dość złożony. Nie umiem po Twoim opisie ogarnąć tego wszystkiego, co trzeba zrobić i w jaki sposób.
tts, Twóje rozwiązanie - wydaje mi się - nie będzie skutkować w moim przypadku. Bo jak niby umieszczę 2 różne ankiety, gdzie w pierwszej będzie możliwość odpowiedzi w postaci "tak/nie", a w drugiej np. "piwo/mleko/wódka/denaturat/koniak/herbata/kawa" :?: |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 45 Pomógł: 0 Dołączył: 17.07.2003 Skąd: Tarnów/Kraków Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Cytat(Blackhole @ 2005-03-26 09:01:26) tts, Twóje rozwiązanie - wydaje mi się - nie będzie skutkować w moim przypadku. Bo jak niby umieszczę 2 różne ankiety, gdzie w pierwszej będzie możliwość odpowiedzi w postaci "tak/nie", a w drugiej np. "piwo/mleko/wódka/denaturat/koniak/herbata/kawa" :?: Jak najbardziej bedzie dzialac. Do tabeli "wyniki" w polu "naza_pola" wpisujesz tylko dwie mozliwe odpowiedzi: w jednym "tak" w kolejnym nie "nie" Pozdrawiam, kuba |
|
|
![]() ![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 283 Pomógł: 1 Dołączył: 15.11.2004 Skąd: Mikołów Ostrzeżenie: (0%) ![]() ![]() |
Acha, chyba kapuję.
Znaczy to, iż dla przykładowej ankiety w tabeli wyniki będzie tyle wierszy, ile jest odpowiedzi przewidzianych w tej ankiecie. Jeśli dobrze zrozumiałem, to wydaje mi się to dobrym rozwiązaniem. Dzięki (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 24.01.2005 Ostrzeżenie: (0%) ![]() ![]() |
czyli po oddaniu glosu uaktualniasz odpowiednie pola sqlem, nastepnie aby wyswietlic wyniki pobierasz dane sqlem. jak to sie ma do wyciagniecia i zupdateowania 1 wiersza z prostej i malej tabelki? chociaz tych ankietek nie bedzie az tyle zeby stwarzalo to problem.. coz moja niechec do wykorzystywania bazy posunela sie chyba jednak zbyt daleko.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 20:56 |