Merhabalar.
Bir butona basınca tık sayısı +1 arttıran ölçen bir işlemim var.
Bütün hepsini şu şekilde https://prnt.sc/ZiPJQN_9TA7J tek id de tutuyorum.
İstiyorum ki tıkları "Mart ayında 81 tık, Ocak ayında 1 tık" şeklinde bir sayfaya listeleteyim.
Böyle bir istek doğrultusunda yapmam gereken adımlar neler? nerede mantık hatam var?
index.php
<script>
$(document).ready(function(){
$("#wptik").click(function(){
var userip = '<?= $_SERVER["REMOTE_ADDR"] ?>';
var gt = '<?= date('F') ?>';
$.ajax({
type:"POST",
url:"wptik.php",
data: {userip: userip, gt : gt},
success: function(data){
$("#sonuc").html(data);
}
});
});
});
</script>
ajax.php
$id = 1;
$userip = $_POST['userip'];
$guncellenmeTarihi = $_POST['gt'];
$sorgu = $db->prepare("UPDATE veriler SET kullanici_ip = '".$userip."', guncellenmeTarihi = '".$guncellenmeTarihi."', wptik = wptik +1 WHERE id='".$id ."' ");
$sorgu->execute(array($id));
}
Mantık Hatam Nerede?
1
●120
- 15-07-2022, 02:41:29Örnek kod yazacak vaktim yok malesef ama Mantık olarak teorikte şu şekilde ilerleyebilirsiniz: Sürekli 1 idli kayıta update yaptırıyorsunuz. böylece tek bir kaydınız var ay ay rapor alamazsınız. Öncelikle veriler tablosunda her ay için bir kayıt açmanız gerekiyor. Sonrasında 1 artırma yapacağınız zaman öncelikle bir sorgu ile kontrol edeceksiniz ilgili ay için bir kayıt varmı diye. Eğer kayıt varsa update ile ilgili kayıtı güncelleteceksiniz, eğer kayıt yoksa ilgili ay için bir kayıt açacaksınız. Bu arada ay dediğim sizde guncellenmeTarihi sütununa denk geliyor. Gördüğüm kadarıyla bu sütunda July vb. şekilde ayları tutuyorsunuz. Belirttiğim şekilde yaparsanız her ayın kayıtı farklı olacağı için dbdeki verileri bi yerde listeletip istediğiniz ayda kaç tıklama alınmış vb. dilediğiniz gibi raporlama yapabilirsiniz.iltu33 adlı üyeden alıntı: mesajı görüntüle
Ama ben sizin yerinizde olsam guncellenmeTarihi kısmını july vb. text olarak değilde date tipinde yani YYYY-MM-DD şeklinde tutardım ve her gün için ayrı kayıt tuttururdum. Böylece ileride lazım olursa gün bazlıda raporlama yaptırabilir hatta iki tane tarih seçtirip iki tarih arası gün gün raporlama vb. işlemlerde yapabilirsiniz. Sisteminiz daha esnek olur ama tabi tercih sizin.