Günde 3 Veri Gösterme Problemi (Php)
-
$kactaneyapilmis=mysql_query("SELECT * FROM `yapilmissoru` WHERE uyeid='$uyeid'");
$kactanesay=mysql_num_rows($kactaneyapilmis);
$limitdoldumu =mysql_query("SELECT * FROM `profile` WHERE id='$uyeid' ");
$limitdoldumucek= mysql_fetch_assoc($limitdoldumu);
$limitdoldumusay=$limitdoldumucek['limittarih'];
$tarih=date("d");
if ($kactanesay%3==0 && $tarih>$limitdoldumusay) { mysql_query("UPDATE `profile` SET limittarih='$tarih' WHERE id='$uyeid' "); }
if ($limitdoldumusay>=$tarih) { GÜNLÜK 3 SORU LİMİTİNİZ DOLDU YAZDIR } else { FONKSİYONU ÇALIŞTIR }
Değerli hocalar şimdi yapmak istediğim şu.
Bu sistem dbden toplam kayıtlı yapılmış soru sayısını alıyor.Toplam girilen soru sayısının 3 ile kalanı 0 ise dbye o günün tarihini giriyor.Yani günde
gösterilecek soru sayısı 3 olabilir.Fakat bu kalan sistemi çalışmıyor.Direk tek soru gösterip sisteme GÜNLÜK 3 SORU LİMİTİNİZ DOLDU yazdırıyor.
Kısacası benim tarihe bağlı olarak günde 3 soru göstermem lazım.Bunu SESSION VE COOKIE hariç nasıl yapabilirim.
Ayrıca ertesi gün geldiğinde soru limiti ertesi günün tarihi olan kişilerin limitleri 0 lanmalı.
Yani herkes bir gün içerisinde ancak 3 soru yapabilmeli.
-
kodunu okumadım sadece altındaki notunu okudum... if(a = true){ sevişelim}; dersen sevişir sonra devam eder ya sonuna exit() ekle yada if else ye al... sorunun bu olabilir uyumak üzreyim son son gördüm belki budur sorunun kolay gelsin
-
Limit 0'lama için cron job kullanacaksın. Diğer kısma da yarın sabah bakayım yardımcı olmaya çalışırım, ama şu an kafa basmıyo :D
-
şöyle yapsana ne diye dolanıyosun dünyayayı(uyku tutmadı) select sorulan_soru_sayisi from uyeler where id=$id and tarih = bugün bundan gelen değer 3 ten büyükse diye hareket edersin sonra
-
şöyle yapsan adamın profiline limit diye bişi oluştursan integer olcak ilk değeri 0 olcak soru çözdümü değeri 1 artıcak eğer 3 se soru göstertmiyceksin. bide bi sayfa daha yaparsın bütün profil limitlerini 0 layan onuda cronjobla gece 12 yi geçince saat çalıştırırsın.
-
Şimdi hocam öncelikle tarihinde hata var.
Bir tek gün numarasını tutarsan o sistem bir güzel saçmalar :)
Ayın 31'inden 1'ine geçtiğin gün ne olacak? :) tarih karşılaştırmanı ters mi çevireceksin?
Veya 1 ay sistemine girmemiş bi elemanı düşün. Adam en son ağustos 15te girmiş, sonra eylül 14de girmiş. Sistem gene çakılacaktır ;)
timestamp nedir onu biraz araştır. Böyle durumlarda en temiz çözüm o olur ;)
Ha ayrıca hatanın nerde olduğunu söyleyeyim. Database'den veri çekerken, adam hiç soru çözmediği için satır sayısı 0 dönüyor. 0 mod 3te 0'a eşittir. ilk kısım doğru sonuç döndürüyor. Tarih kısmı zaten doğru sonuç döndürüyodur. Doğal olarak update yapıyosun ve 2. soruya gelmeden patlıyo sistem :)
Neyse kolay gelsin efendim..
-
hocam o problem değil.asıl problem günde 3 soru göstermek.
ama soruları çeken sorguya elleşmeden.
-
Emrow bunu yazdı:
-----------------------------
hocam o problem değil.asıl problem günde 3 soru göstermek.
ama soruları çeken sorguya elleşmeden.
-----------------------------dediğim gibi yapsan?
-
Emrow bunu yazdı:
-----------------------------
hocam o problem değil.asıl problem günde 3 soru göstermek.
ama soruları çeken sorguya elleşmeden.
-----------------------------Hocam sen mesajımı sonuna kadar okudun mu?
Çektiğin satır 0 dönüyo, o yüzden çatlıyo. Çektiğin satır 0 ise tekrar bi kontrol yap olsun bitsin...
-
yeni bi tablo oluştur
userid cozulensorusayisi gün(date)
harici bi tabloda kontrol etmen hem performans açısından hemde istatistik bakımında daha elverişli diye düşünüyorum
cosmic hocanın dedigi gibi varsayılan 0 olur çözdükçe artırırsın.. ama falanca filanca üyenin geçen ayının 14. gününde kaç soru çözdüğünü göremessin verileri cronjobla sıfırlarsan
