• 15-08-2015, 12:17:04
    #1
    Merhabalar, ü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:29
    #2
    10 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
    #3
    Üyeliği durduruldu
    FKonyali adlı üyeden alıntı: mesajı görüntüle
    Merhabalar, ü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?
    Gerekli yerleri düzenleyip güle güle kullanın

    // 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:45
    #4
    sercey adlı üyeden alıntı: mesajı görüntüle
    10 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.
    Bende tam olarak bunu yaptım. Söylemeyi unutmuşum soruyu sorduğum gün hallettim.