• 03-07-2017, 19:02:31
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    function chkontrol ($kim) {
    	global $db;
    	$chler=$db->query("select id, ch_id, tarih from cw_user_ch where uye_id='$kim'");
    	while ($ch = $chler->fetch(PDO::FETCH_ASSOC)) {
    		$sure=$db->query("select life from cw_ch where id='$ch[ch_id]'")->fetch(PDO::FETCH_ASSOC);
    		if ($sure['life'] != "0") {
    			$zaman=date("Y-m-d H:i:s");
    			$bitis=date( "Y-m-d H:i:s", strtotime( "$ch[tarih] +$sure[life] days" ) );
    			if ($bitis < $zaman) {
    				$db->query("delete from cw_user_ch where id='$ch[id]'");
    				logla($kim, $lang['karakter-silindi']);
    			}
    		}
    	}
    }
    fonksiyonunu kodladım ama çalışmıyor. büyük ihtimal tırnak hatası falan yaptım ama olmadı. Hata da vermiyor ama çalışmıyor. Yardımlar için teşekkürler.
  • 03-07-2017, 21:01:32
    #2
    asimus adlı üyeden alıntı: mesajı görüntüle
    function chkontrol ($kim) {
    	global $db;
    	$chler=$db->query("select id, ch_id, tarih from cw_user_ch where uye_id='$kim'");
    	while ($ch = $chler->fetch(PDO::FETCH_ASSOC)) {
    		$sure=$db->query("select life from cw_ch where id='$ch[ch_id]'")->fetch(PDO::FETCH_ASSOC);
    		if ($sure['life'] != "0") {
    			$zaman=date("Y-m-d H:i:s");
    			$bitis=date( "Y-m-d H:i:s", strtotime( "$ch[tarih] +$sure[life] days" ) );
    			if ($bitis < $zaman) {
    				$db->query("delete from cw_user_ch where id='$ch[id]'");
    				logla($kim, $lang['karakter-silindi']);
    			}
    		}
    	}
    }
    fonksiyonunu kodladım ama çalışmıyor. büyük ihtimal tırnak hatası falan yaptım ama olmadı. Hata da vermiyor ama çalışmıyor. Yardımlar için teşekkürler.
    Öncelikle ezSQL sınıfını kullanmanı tavsiye ederim. Ek olarak gereksiz sorgu kullanmışsın. 1 tek sorgu yeter bu işlem için. ezSQL sınıfına göre bir betik hazırladım. Test et istersen.

    function chkontrol($kim) {
        global $db;
        $chars = $db->query("SELECT cw_user_ch.id,cw_user_ch.ch_id,cw_user_ch.tarih,cw_ch.life FROM cw_user_ch INNER JOIN cw_ch ON cw_user_ch.ch_id = cw_ch WHERE cw_user_ch.uye_id = '$kim' AND cw_ch.life > 0");
        foreach( $chars as $char ) {
            if(date("Y-m-d H:i:s",strtotime("$char->tarih + $char->life days")) < time() ) {
                if($db->query("DELETE FROM `cw_user_ch` WHERE id = '$char->ch_id'")) {
                    echo 'USER BAŞARIYLA SİLİNDİ';
                }
            }
        }
    }
    Ezberimden yaptım. Mantık olarak böyle bir şey yapman lazım. Gereksiz fazla sorgular her zaman sunucunu şişirir.
  • 04-07-2017, 15:41:39
    #3
    aliosmanyuksel adlı üyeden alıntı: mesajı görüntüle
    Öncelikle ezSQL sınıfını kullanmanı tavsiye ederim. Ek olarak gereksiz sorgu kullanmışsın. 1 tek sorgu yeter bu işlem için. ezSQL sınıfına göre bir betik hazırladım. Test et istersen.

    function chkontrol($kim) {
        global $db;
        $chars = $db->query("SELECT cw_user_ch.id,cw_user_ch.ch_id,cw_user_ch.tarih,cw_ch.life FROM cw_user_ch INNER JOIN cw_ch ON cw_user_ch.ch_id = cw_ch WHERE cw_user_ch.uye_id = '$kim' AND cw_ch.life > 0");
        foreach( $chars as $char ) {
            if(date("Y-m-d H:i:s",strtotime("$char->tarih + $char->life days")) < time() ) {
                if($db->query("DELETE FROM `cw_user_ch` WHERE id = '$char->ch_id'")) {
                    echo 'USER BAŞARIYLA SİLİNDİ';
                }
            }
        }
    }
    Ezberimden yaptım. Mantık olarak böyle bir şey yapman lazım. Gereksiz fazla sorgular her zaman sunucunu şişirir.
    Maalesef bu da çalışmadı. Sanırım başka bir sorun var