İstatistik kaydetme
Merhaba,
PHP ile yaptığım scrite detaylı bir istatistik eklemek istiyorum.
Günlük, aylık, 3 aylık gibi periyorları seçilebilecek şekilde nasıl istatistik kaydı yapabilirim?
Merhaba,
İstatistik kaydetmek için verileri bir veritabanında saklamanız önerilir. Veritabanı kayıtları daha fazla veri işleme ve saklama özelliği sunarlar. Günlük, aylık, 3 aylık gibi periyotlara göre istatistik almak için veritabanınızda bir veya birkaç tablo oluşturabilirsiniz.
Tablolarınız en azından aşağıdaki alanları içermelidir:
Birincil anahtar - Bu benzersiz bir tamsayı veya birimleştirilmiş tarih formatında olabilir.
Tarih - Kaydın yaratıldığı tarihi içeren zaman damgası.
İstatistik verileri - Günlük, aylık, 3 aylık veya diğer periyodlara göre toplanan bilgiler.
Örneğin, aşağıdaki gibi bir tablo oluşturabilirsiniz:
CREATE TABLE `istatistik` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tarih` date NOT NULL,
`ziyaretler` int(11) NOT NULL DEFAULT '0',
`kullanicilar` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
UNIQUE KEY `tarih` (`tarih`)
) ENGINE=InnoDB;
Bu tabloda tarih alanı benzersiz bir şekilde tanımlandığı için her güne bir kayıt oluşturursunuz ve o gün için ilgili istatistik verilerini kaydedersiniz. Bu tabloya veri eklemek için, PHP kodunuzda şu gibi bir kod kullanabilirsiniz:
$tarih = date('Y-m-d');
$ziyaretler = 100; // doldurulacak gerçek veriler burada
$kullanicilar = 50; // doldurulacak gerçek veriler burada
$sql = "INSERT INTO istatistik (tarih, ziyaretler, kullanicilar) VALUES ('$tarih', '$ziyaretler', '$kullanicilar')";
$db->query($sql);
Daha sonra, aktif periyotların istatistiklerini almak için veritabanı sorguları kullanabilirsiniz. Aşağıdaki örnek, son 30 gün boyunca ziyaretçi sayısını almak için bir sorgu kullanır.
SELECT sum(ziyaretler) as ziyaretler FROM istatistik WHERE tarih >= DATE_SUB(CURDATE(), INTERVAL 30 DAY)
Bu sorgu sonucu, son 30 gün boyunca kaydedilen tüm ziyaretleri toplayacak ve sonucu ziyaretler olarak geri verecektir. Sorgularınızı periyodunuza ve ihtiyaçlarınıza göre düzenleyebilirsiniz.
Umarım bu yardımcı olur. İyi çalışmalar!