Bir uzun html sayfam var, küçük bölümlere ayrılmış birkaç soru kümesi var (bir sayfada yaklaşık 15 alt bölüm), toplam soru yaklaşık 100 soru: giriş, çoktan seçmeli, onay kutuları, radyo düğmeleri, textarea, ve dosya yükleme. Bir soru, onay kutusu grubundan, seçim listesi grubundan, çoklu seçim grubundan veya hepsinin bir cevapta birleştirildiği birçok yanıt içerebilir. Aşağıda bu veritabanı tasarımı kullanmak düşündüm ama sonuçta iyi bir yaklaşım olmadığını öğrendim.
- Bir müşterinin yalnızca bir soru grubu olabilir: 100 soru başına bir müşteri.
- Eski yaklaşım için ben veritabanında soru tutmak değil, bunun yerine PHP kodlama sabit olarak atar. Sorun ben veritabanındaki cevap ile senkronize almak için PHP soruyu karşılaştırmak zorunda olduğunu. Bir soru değiştirilmiş / silinmiş / PHP'den taşınmış olsaydı, kesinlikle Anket veritabanındaki cevapla eşleştirmek için kaybolurdum. Daha iyi bir çözüm mü?
- Birden çok formdan elde edilen birden çok yanıtı tek bir cevap şeklinde formda tutabilir miyim? Müşteriyi formda görüntülemek için bu alanı nasıl alıp tekrar görüntüleyebilirim?
- Aşağıdaki seçeneklerden hangisini seçmeliyim?
SEÇENEK 1: Eski Yaklaşım (1 tablo)
TABLO: Anket
- Kimlik (PK)
- Müşteri Kimliği
- durum
- A1
- A2
- A3
- .
- .
- .
- A100
SEÇENEK 2: Yeni Yaklaşım (2 tablo)
TABLO: Soru
- QID (PK)
- Soru (varchar)
TABLO: Cevap
- YARDIM (PK)
- Müşteri Kimliği
- QID (int)
- Cevap (varchar)
Veya SEÇENEK 3?