Php Sorunum - 2
-
önceliklesoru adlı bir tablomuz var. bu soru tablosunda 10 tane 1,2,3,4,5.... idli sorular var.cozulen_soru adlı bir tablo daha var.uyeler diye bir tablo daha var.1 idli süleyman diye bir üye var.İlgili 1. konudaki gibi gösterilen bir sorunun bir daha gösterilmemesi için uğraşıyorum.Süleyman giriş yapıyor, soru karşısına geliyor.Soruyu çözüyor.Bu esnada cozulen_soru tablosunasoruid 1 ve uyeid 1 diye iki veri giriliyor.Soru; select from soru where id=$id olarak çekiliyor.Öncesinde soru idinin belirlenmesi için randomize fonksiyonu çalıştırılıyor.Şimdi min,max falan demeyeyim.1 ila 10 dan rastgele bir sayı seçiyor diyelim.Bu esnada "daha önce sorunun görüntülenip görüntülenmediğini randomizeden çıkan sonuçla" karşılaştıran bir döngüyü nasıl yazabilirim?Fazla döngü bilmiyorum.+ek olarak cozulen_soru tablosu üzerinden gitmeliyiz.Ben çözülen soru ile randomizeyi karşılaştırmak için mysql_num_rows denedim fakat döngüye nasıl uygulayacağımızı bilmiyorum.If-Else işide sakat.saygılar.
-
Başlığı düzelt hocam laf yapmasınlar.
-
Hacı önce $soru=rand(1,10);
sonra if(mysql olayı $soruyla aynıysa) {
$soru=rand(1,10);
} else {
soruyu yazdır
} bu şekilde olmaz mı
edit: veya şimdi aklıma geldi for la yapsan sırayla gitse hem herkese de sorular sırayla gitmiş olur 1,2,3,4,5 diye...
$uyesorusu= tablodan çekeceğin veri oraya da son soruyu yazacak
for($i=0;$i>$uyesorusu;$i++) şeklinde
-
sırayla gelmeyecek.IF-Else işi çözmez, yine görüntülenmiş bir sorunun gelme ihtimali var.
-
randomu sqlden RAND() lamı yaptırıyosun yoksa başka şekildemi?
-
randla yapmam mümkün değil
php fonksiyonuyla rand alıp döngüyle çözülmüş sorular tablosuyla karşılaştırmak zorundayım.
-
hocam soruları üyelere gösterdiğin sayfada
kullanıcı id ile suru id sini cozulen_soru adlı tabloda karşılaştırman gerekir yani
select * from cozunlen_soru where kullaniciid='$kullaniciid' and soruid='$soruid'
şimdi bu tabloda istediğimiz bu kullanıcıya bu soru daha önce sorulmuşmu ?
burada mysql_num_rows ile verileri alırsın
sonuç 0 dan büyükse çözmüşdersin ve başka soru sorarsın ister sonraki soruyu ister ramdon nasıl ise
tabi önemli olan burada cozulen_soru aldı tabloya sadece soruyu çözenleri eklemen
yani soruyu çözen kullanıcı soru id si ile birlikte bu tabloya kaydedilecek
-
ya ben teorik istemiyorum :d
bana sql bilmiyormuşum gibi davranmayın kafam çalışmıyor bu gün :]
orayı döngüye sokmalıyız.
-
iyde hocam döngülük pek bişe yokki 2 tane tabloyu karşılaştırcan :|
-
konuya dönersek
if - else ile çözülmüş sorunun tekrar gelme olasılığı çok yüksek.
dediğini denemedim değil denedim ve başarısız.Çözülmüş sorular tekrar ağa takılıyor.
Tekrar dönüyor tekrar takılıyor.
Holy hocamı bekliyorum.
-
Emrow bunu yazdı:
-----------------------------
randla yapmam mümkün değil
php fonksiyonuyla rand alıp döngüyle çözülmüş sorular tablosuyla karşılaştırmak zorundayım.
-----------------------------
function yazdir($uyeid){$randomid=rand(1,10);
$cozulen_soruquery=mysql_query("SELECT * FROM cozulen_soru WHERE uyeid='$uyeid' and cozulenid='$randomid'");
if(mysql_num_rows($cozulen_soruquery)==0){
$soruquery=mysql_query("SELECT * FROM soru WHERE id='$randomid'");
$i=mysql_fetch_assoc($soruquery);
$soru=$i['soru'];
echo $soru;
} else {
yazdir($uyeid);
}
}
edit: yine if else ama tekrardan elsede fonksiyonun kendisi olduğu için yeni random üretiliyo ve aynısının gözükmesi imkansız
