janjakruso adlı üyeden alıntı: mesajı görüntüle

Bence şöyle bir tablo yapısı kurarsın,
Mesela 1 haftalık kayıtları saydırabileceğin sql komutu:

SELECT COUNT(*) AS kayit_sayisi
FROM acc_logs
WHERE created_at >= CURDATE() - INTERVAL 1 WEEK
php ile de şöyle bir şey yapabiirsi sayfaya girdi diyelim kullanıcı :
function ipAl() {    $ipaddress = '';     if (isset($_SERVER['HTTP_CLIENT_IP']))        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];    else if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];    else if(isset($_SERVER['HTTP_X_FORWARDED']))        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];    else if(isset($_SERVER['HTTP_FORWARDED_FOR']))        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];    else if(isset($_SERVER['HTTP_FORWARDED']))        $ipaddress = $_SERVER['HTTP_FORWARDED'];    else if(isset($_SERVER['REMOTE_ADDR']))        $ipaddress = $_SERVER['REMOTE_ADDR'];    else        $ipaddress = 'UNKNOWN';     return $ipaddress; }

Mesela örneğin şu şekilde yaptığımda manuel olarak sql den veri eklediğimde sayı artıyor siteye girildiğinde mysql a veriyi kaydetmesi için nasıl yapmamız gerek

sql verisi
--
-- Tablo için tablo yapısı `ziyaretciler`
--

CREATE TABLE `ziyaretciler` (
  `id` int(11) NOT NULL,
  `ipadres` varchar(222) DEFAULT NULL,
  `tarih` date DEFAULT NULL,
  `cihaz` varchar(11) DEFAULT NULL,
  `year` varchar(4) DEFAULT NULL,
  `day` varchar(2) DEFAULT NULL,
  `month` varchar(2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

---------
fonksiyon
---------
<?php
/* Bugün verilerini çek */
$bugun = date("Y-m-d");
$bugunTekiLCek = $db->prepare("select * from ziyaretciler where tarih='$bugun' group by ipadres");
$bugunTekiLCek->execute();
/*  <========SON=========>>> Bugün verilerini çek SON */

/* Bu Hafta verilerini çek */
$cevir = strtotime('-7 day',strtotime($bugun));
$buhafta = date("Y-m-d",$cevir);
$buhaftaTekilCek = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' group by ipadres");
$buhaftaTekilCek->execute();
/*  <========SON=========>>> Bu Hafta verilerini çek SON */

/* Bu Ay verilerini çek */
$cevir = strtotime('-30 day',strtotime($bugun));
$buay = date("Y-m-d",$cevir);
$buayTekilCek = $db->prepare("select * from ziyaretciler where tarih>='$buay' group by ipadres");
$buayTekilCek->execute();
/*  <========SON=========>>> Bu Ay verilerini çek SON */


/* Bu Hafta Pasta İstatistikleri */
$buHaftaDesktopPie = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' and cihaz='desktop' group by ipadres");
$buHaftaDesktopPie->execute();
$desktopPie = $buHaftaDesktopPie->rowCount();
$buHaftaMobilePie = $db->prepare("select * from ziyaretciler where tarih>='$buhafta' and cihaz='mobile' group by ipadres");
$buHaftaMobilePie->execute();
$mobilePie = $buHaftaMobilePie->rowCount();
/*  <========SON=========>>> Bu Hafta Pasta İstatistikleri SON */

?>

--------
sqlden veriyi çekerek sayıyı yansıtabildiğim fonksiyon
-------
<?=$bugunTekilCek->rowCount()?>
<?=$buhaftaTekilCek->rowCount()?>
<?=$buayTekilCek->rowCount()?>