$db->Query("INSERT INTO surf_gecmis (user, tarih, click)VALUES('".$data['id']."',Now(),1)
ON DUPLICATE KEY UPDATE click=click+1");
sql de tarih kolonu date olarak ayarlı.
aynı tarih ve user varsa sadece click i güncelleyecek, yoksa ekleyecek.
ama olmuyor, yapmıyor. sürekli yeni kayıt ekliyor, güncellemiyor.
neden olabilir ?
--------------
ÇÖZÜM :
zaman için CURDATE() kullanıldı.
DUPLICATE KEY UPDATE yerine if else kullanıldı.
$gecmis = $db->QueryFetchArray("SELECT user, tarih FROM `surf_gecmis` WHERE `user`='".$data['id']."' AND `tarih`=CURDATE()");
if(!$gecmis)
{$db->Query("INSERT INTO `surf_gecmis` (user, tarih, click, gold) VALUES('".$data['id']."', CURDATE(),1,'".$sit['cpc']."')");
}else
{$db->Query("UPDATE `surf_gecmis` SET click=click+1, gold=gold+'".$sit['cpc']."' WHERE `user`='".$data['id']."' AND `tarih`=CURDATE()");
}
aynı tarihteki kaydı güncellesin
3
●227
- 21-06-2017, 03:21:49user ve tarih alanlarını primary key olarak ayarlamanız gerekmektedir.
- 21-06-2017, 10:03:32DUPLICATE KEY UPDATE var kod içindechedmade adlı üyeden alıntı: mesajı görüntüle

--R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 10:03:32 -->-> Daha önceki mesaj 08:05:35 --
$gecmis = $db->QueryFetchArray("SELECT user, tarih FROM `surf_gecmis` WHERE `user`='".$data['id']."' AND `tarih`=CURDATE()");chedmade adlı üyeden alıntı: mesajı görüntüle
if(!$gecmis)
{$db->Query("INSERT INTO `surf_gecmis` (user, tarih, click, gold) VALUES('".$data['id']."', CURDATE(),1,'".$sit['cpc']."')");
}else
{$db->Query("UPDATE `surf_gecmis` SET click=click+1, gold=gold+'".$sit['cpc']."' WHERE `user`='".$data['id']."' AND `tarih`=CURDATE()");
}
bu şekilde oldu. fikir için sağol.
