Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ankiety
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
Blackhole
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ć blink.gif
nibytak
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 smile.gif
SongoQ
Nie po to jest baza danych zeby tablice serializowac i trzymac w bazie danych.
To mozna w inny sposob rozwiazac.
nibytak
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.
tts
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)
);
Blackhole
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" :?:
behemot
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
Blackhole
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 cool.gif
nibytak
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.
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.