hocam anlattığım gibi bazı sorularda cevaplar çoktan seçmeli yani combobox ile veritabanından çekiliyor ama bazı sorularda klasik yani textarea olarak geliyor. Veri tabanına kayıtlı çoktan seçmeli cevapların sayısal bir değeri bulunuyor kullanıcıya gösterilmeyen. Textarea olan cevapların ise veri tabanında kayıtlı bir değeri yok kullanıcı gireceği için sınav esnasında. Şimdi selectlerin name kısmına cevap id olarak isim atayamıyorum çünkü cevaplar 1den fazla o yüzden name kısmına hangi cevabın idsi gelsin. Boş geliyor o yüzden. Bu cevaplar yapılan testler adında bir tabloya kayıt edilecek ve cevap değeri kısmına eğer soru çoktan seçmeliyse seçilen cevabın veritabanındaki değeri kayıt edilecek eğer textarea ise kullanıcının girdiği değer kayıt edilecek. Hal böyle olunca mantığı oturtup yapamadım. Şimdi selectlerin name kısmına cevap id sini vremiyorum. Sizin dediğinizide yapamadım bu yüzden. Eğer ikisine ayrı isim verirsem veritabanında aynı tabloya nsaıl kayıt edicem onuda bilmiyorum. sorunum bu açıkcası.
Arkadaşım 2-3 mesajdır yazıyorum anlatamıyorum sanırım
sen posttan gelen cevabı neye göre değerlendiriyorsun ? Hangi soruya ne cevap verildiğine göre değil mi ?
Şimdi diyelim ki soru 1. Bu select mi olacak yani çoktan seçmeli mi, yoksa cevap mı yazılacak.
Diyelim ki çoktan seçmeli, veritabanı yapını bilmediğimden misalen yazıyorum:
<select name="soru_1"><!-- soru idini yazıyoruz-->
<option value="secenek_1">Seçenek 1</option><!-- seçenek idini yazıyoruz-->
</select>
Postta da:
$cevap_1 = $_POST['soru_1']; //escape vs. temizlemeyi unutma ben öylesine yazıyorum.
yazınca soru 1 de adam hangi seçeneği seçmişse onun idi geliyor.
Sen de veritabanına eklemeden zaten çekeceksin tekrar soru ve seçenekleri önceki mesajımda dediğim gibi.
Kontrol edeceksin böyle bir seçenek varsa ekleyeceksin. Textarea ise zaten direk temizleyip yazılan cevabı almış oluyorsun.
Bu kadar basit yani mantığını anladıktan sonra.