lostyazilim
tr.link

tarihe göre sütun listeleme

5 Mesajlar 985 Okunma
acebozum
tr.link

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1469
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
veri tabanı yapısı

id | ip | bulundugu | zaman

merhaba arkadaşlar veri tabanı ziyaretçi sayacı içindir.


resimdeki beritmiş olduğum ip ler gün içerisinde bir kere gösterirmesi. ve tarihe göre ;

24 saatlık ,1 gün önce listeleme ,1 aylık listeleme.


 

 

:)
elektronikssl
webimgo

kyzaghan kyzaghan Lord of the Ninth Sky Kullanıcı
  • Üyelik 14.04.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım Destek Lideri
  • Konum İzmir
  • Ad Soyad İ** K**
  • Mesajlar 50
  • Beğeniler 7 / 18
  • Ticaret 0, (%0)
Merhaba,
Tam anlamadım ama belirli zamanlara göre kayıtları çekmek istiyorsan sql tarafında şu şekilde yapabilirsin.

Not: Duruma göre count aldırıp toplamını getirebilirsin veya ip bazında gruplayıp kaç farklı ip olduğunu buldurabilirsin.

//Tabloyu yaratalım

CREATE TABLE sayac (
id int NOT NULL AUTO_INCREMENT,
ip varchar(100),
visit_date datetime,
PRIMARY KEY (id)
);

INSERT INTO sayac (ip, visit_date)
VALUES('191.168.1.1', NOW());

INSERT INTO sayac (ip, visit_date)
VALUES('191.168.1.1', DATE_ADD(NOW(), INTERVAL -10 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -10 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -50 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -1 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -360 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -10 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -10 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -20 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -40 DAY) ),
('191.168.1.1', DATE_ADD(NOW(), INTERVAL -10 DAY) )
;


//Sorgularımız

SELECT "Bugün" AS visit_time, sayac.* FROM sayac WHERE DATE(visit_date) = CURDATE();

SELECT "Dün" AS visit_time, sayac.* FROM sayac WHERE DATE(visit_date) = CURDATE() - 1;

SELECT "Bu yıl" AS visit_time, sayac.* FROM sayac WHERE YEAR(visit_date) = YEAR(NOW());

SELECT "Geçen yıl" AS visit_time, sayac.* FROM sayac WHERE YEAR(visit_date) = YEAR(NOW())-1;
omrumdely

kişi bu mesajı beğendi.

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1469
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
kyzaghan hocam örneğinizi yapacam fakat bugün yazan yere tarih değişkeni mi yazacam
 

 

:)

kyzaghan kyzaghan Lord of the Ninth Sky Kullanıcı
  • Üyelik 14.04.2017
  • Yaş/Cinsiyet 33 / E
  • Meslek Yazılım Destek Lideri
  • Konum İzmir
  • Ad Soyad İ** K**
  • Mesajlar 50
  • Beğeniler 7 / 18
  • Ticaret 0, (%0)
Merhaba omrumdely,
Hayır, zaten Bugün yazan kısımda sadece bugün giriş yapmış ipler geliyor, bu yüzden sadece count ile toplamını alman yeterli.
omrumdely

kişi bu mesajı beğendi.

wmaraci
wmaraci

omrumdely omrumdely Web Tasarım Kullanıcı
  • Üyelik 26.05.2012
  • Yaş/Cinsiyet 34 / E
  • Meslek Web Tasarım
  • Konum Kocaeli
  • Ad Soyad Ö** G**
  • Mesajlar 1469
  • Beğeniler 157 / 158
  • Ticaret 11, (%100)
teşekkkür ederim kodlarınız işime yaradı.
sizin kodlarınız dışında eklediğim kod


SELECT DISTINCT(ip) FROM ziyaretci WHERE DATE(zaman) = CURDATE() - 1;
 

 

:)
wmaraci
wmaraci
Konuyu toplam 1 kişi okuyor. (0 kullanıcı ve 1 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al