• 01-09-2014, 15:08:17
    #1
    function kaydet($oyunID, $social, $count){
    	global $db;
    	$save = $db->query("INSERT INTO `sharecount` (`id`, `oyunID`, `".$social."`)
    			VALUES ('', '".$oyunID."', '".$count."');");
    	return $save;
    }
    yukarıdaki fonksiyonu aşağıdaki gibi 4 yerde kullanıyorum. sadece yerleri değişik olarak.

    $sayi = social($oyun->id, "facebook"); if($sayi){ echo $sayi; } else { echo $veri->fb('likes'); kaydet($oyun->id, "facebook", $veri->fb('likes')); }
    burada yaptırdığım işlem eğer veritabanında bu veriler varsa göster, yoksa fb graphtan al.

    fakat şöyle bi hata alıyor. yapılan 4 işlem içinde farklı farklı kaydediyor. örnek resim ekliyim.



    bu şekilde ekleme yapıyor. bunu tek yerde nasıl toplarım?
  • 01-09-2014, 16:26:00
    #2
    oyunid'sine göre bir update yaptırın. Aynı oyun id'li kayıt yoksa insert yapsın, aynı id'se sahip veri varsa da update yapsın.
  • 01-09-2014, 19:44:48
    #3
    emrahakin adlı üyeden alıntı: mesajı görüntüle
    oyunid'sine göre bir update yaptırın. Aynı oyun id'li kayıt yoksa insert yapsın, aynı id'se sahip veri varsa da update yapsın.
    hocam herhalde 3 saattir bununla uğraşıyorum. deniyorum ama bi türlü olmuyor. fonksiyonun son hali aşağıdaki gibi.

    function kaydet($oyunID, $social, $count){
    	global $db;
    	$control = $db->get_row("select * from sharecount where oyunID = '".$oyunID."'");
    	if($oyunID == $control->oyunID){
    	$db->query("update sharecount set facebook = '$social', twitter = '$social', stumble = '$social', pinterest = '$social' where oyunID = '$oyunID'");
    	}else {
    	$db->query("INSERT INTO `sharecount` (`id`, `oyunID`, `".$social."`) VALUES ('', '".$oyunID."', '".$count."');");
    	}
    }

    yardımcı olursanız sevinirim.
  • 01-09-2014, 23:51:21
    #4
    yardımcı olacak kimse yok mu?
  • 02-09-2014, 00:33:33
    #5
    Developer
    Misafir adlı üyeden alıntı: mesajı görüntüle
    yardımcı olacak kimse yok mu?
    function kaydet($oyunID, $social, $count){
        global $db;
        $kontrol = @intval($db->get_var("SELECT COUNT(`id`) FROM `sharecount` WHERE `oyunID` = '".@intval($db->escape($oyunID))."'"));
        if($kontrol > 0)
        {
            $db->query("UPDATE `sharecount` SET `{$db->escape($social)}` = '{$db->escape($count)}' WHERE `oyunID` = '".@intval($db->escape($oyunID))."' LIMIT 1;");
        }
        else
        {
            $db->query("INSERT INTO `sharecount` (`id`, `oyunID`, `{$db->escape($social)}`) VALUES (NULL, '{$db->escape($oyunID)}', '{$db->escape($count)}');");
        }
    }
  • 02-09-2014, 08:48:31
    #6
    FastPHP adlı üyeden alıntı: mesajı görüntüle
    function kaydet($oyunID, $social, $count){
        global $db;
        $kontrol = @intval($db->get_var("SELECT COUNT(`id`) FROM `sharecount` WHERE `oyunID` = '".@intval($db->escape($oyunID))."'"));
        if($kontrol > 0)
        {
            $db->query("UPDATE `sharecount` SET `{$db->escape($social)}` = '{$db->escape($count)}' WHERE `oyunID` = '".@intval($db->escape($oyunID))."' LIMIT 1;");
        }
        else
        {
            $db->query("INSERT INTO `sharecount` (`id`, `oyunID`, `{$db->escape($social)}`) VALUES (NULL, '{$db->escape($oyunID)}', '{$db->escape($count)}');");
        }
    }
    teşekkürler hocam. eline sağlık. artıladım.