siteme bir soru çözme sayfası yapıyorum.
sorular veri tabanından ekleniyor.
Tablo: sorular
sütunlar : id - sorubaslik - cevap1 - cevap2 - cevap3 - cevap4-cevap5- dcevap)
cevap1 sütunları şıklardır
d cevap ise sorunun doğru cevabıdır.
ama index.js dosyasında soru cevapları elle giriliyor
bunu nasıl kategoriye göre ayarlayabilirim,
yani aşağıdaki index.js kodlarında yer alan doğru cevap koduna nasıl işleyebilirim.
<?php
$sorgu=$db->prepare("SELECT * FROM sorular WHERE kategori='deneme' ");
$sorgu-> execute();
$sorular=$sorgu-> fetchAll(PDO::FETCH_OBJ);
?>
Soru sayfası
<?php foreach($sorular as $soru) { ?>
<fieldset class="radiogroup">
<legend><?=$soru->sorubaslik?></legend>
<ul class="radio" style="list-style:none">
<li>A) <input type="radio" name="q1" value="A" /><label><?=$soru->cevap1?></label></li>
<li>B) <input type="radio" name="q1" value="B" /><label><?=$soru->cevap2?></label></li>
<li>C) <input type="radio" name="q1" value="C" /><label><?=$soru->cevap3?></label></li>
<li>D) <input type="radio" name="q1" value="D" /><label><?=$soru->cevap4?></label></li>
<li>E) <input type="radio" name="q1" value="E" /><label><?=$soru->cevap5?></label></li>
</ul>
</fieldset>
<?php } ?>
<input type="button" value="Cevapla" onclick="checkAnswer()" />
</form>
<div id="rapor"></div>
<script src="js/index.js"></script>index.js
function checkAnswer() {
var soruSayisi = 3;
var gelenCevap = new Array();
var dogruCevap = new Array("B", "C", "A");
var dogru = 0;
var yanlis = 0;
var cevap = 0;
var rapor = "";
for (i = 1; i <= soruSayisi; i++) {
var secenekler = document.getElementsByName("q" + i);
for (j = 0; j < secenekler.length; j++) {
if (secenekler[j].checked) {
if (secenekler[j].value == dogruCevap[i - 1]) {
cevap = 1;
} else {
cevap = 0;
}
if (cevap) {
rapor += i + ". Soru için cevabınız: " + secenekler[j].value + ", Doğru <br />";
} else {
rapor += i + ". Soru için cevabınız: " + secenekler[j].value + ", YANLIŞ, Doğru Cevap: " + dogruCevap[i - 1] + "<br />";
}
gelenCevap.push(secenekler[j].value);
}
}
}
for (k = 0; k < soruSayisi; k++) {
if (gelenCevap[k] == dogruCevap[k]) {
dogru++;
} else {
yanlis++;
}
}
rapor += "Sonuç: " + dogru + " Doğru, " + yanlis + " Yanlış" + "<br />";
document.getElementById('rapor').innerHTML = rapor;
}