Soru zorluk derecesine göre listeleme
3
●413
- 15-08-2015, 12:17:04Merhabalar, üzerinde çalıştığım ufak bir proje var. Bir noktada tıkandım. Sorum şu; veritabanımda sorular bulunuyor ve soru_zorluk adında bir sütunum var. Bu sütunda 1 kolay, 2 orta, 3 zor soru olduğunu temsil ediyor. Bir sayfam var ve soru havuzundan istediğim kadar soru çekiyorum. Yalnız kolay,orta,zor seçeneklerim var. Atıyorum 10 adet soru listemelek istiyorum ve soru zorluk derecesini kolay dedim. Şöyle birşey yapmasını istiyorum 5 tane kolay soru 2 tane zor 3 tane de orta zorlukta soru çekmesini istiyorum. Çekmek istediğim soru sayısını değiştirdikçe bunu nasıl otomatikleştirebilirim?
- 16-08-2015, 20:04:2910 sorudan 5 yerine 100 sorudan 50 olarak düşün. Yani her türlü yüzdelik dilimden faydalan.
Örn; Kolay için %50 kolay soru; %30 orta, %20 zor dedin
Her bir zorluk için bunları bir yerde tanımlarsın.
Toplam çözülmek istenen soru adedini bu yüzdelerle çarparsın.
SQL'den veriyi çekerken de ayrı ayrı çekip UNION ile birleştirirsin. - 16-08-2015, 20:30:42Üyeliği durdurulduGerekli yerleri düzenleyip güle güle kullanınFKonyali adlı üyeden alıntı: mesajı görüntüle

// 1. blok kolay soruları çekiyoruz .. $sql1 = mysql_query("SELECT * FROM sorular WHERE soru_zorluk='1' Order By id DESC limit 5"); $kolaySorular1 = ""; while($row1 = mysql_fetch_array($sql1)){ $kolaySorular1 .= $row1["id"] . ","; } $soruYaz1 = trim($kolaySorular1, ","); $soruListele1 = explode(' ,', $soruYaz1); $sonucDondur1 = $soruListele1[0]; // 2. blok orta zorluktaki soruları çekiyoruz .. $sql2 = mysql_query("SELECT * FROM sorular WHERE soru_zorluk='2' Order By id DESC limit 3"); $kolaySorular2 = ""; while($row2 = mysql_fetch_array($sql2)){ $kolaySorular2 .= $row2["id"] . ","; } $soruYaz2 = trim($kolaySorular2, ","); $soruListele2 = explode(' ,', $soruYaz2); $sonucDondur2 = $soruListele2[0]; // 3. blok zor soruları çekiyoruz .. $sql3 = mysql_query("SELECT * FROM sorular WHERE soru_zorluk='3' Order By id DESC limit 2"); $kolaySorular3 = ""; while($row3 = mysql_fetch_array($sql3)){ $kolaySorular3 .= $row3["id"] . ","; } $soruYaz3 = trim($kolaySorular3, ","); $soruListele3 = explode(' ,', $soruYaz3); $sonucDondur3 = $soruListele3[0]; // 4. blok Sorularımızı sayfaya basıyoruz .. $sql4 = mysql_query("SELECT * FROM sorular WHERE id IN ($sonucDondur1,$sonucDondur2,$sonucDondur3)"); while($row4 = mysql_fetch_array($sql4)){ echo '...'; // Gerekli işlemler .. } - 18-08-2015, 22:22:45Bende tam olarak bunu yaptım. Söylemeyi unutmuşum soruyu sorduğum gün hallettim.sercey adlı üyeden alıntı: mesajı görüntüle
