wmaraci reklam
lidertakipci

Php hit sayacında tarih kontrolü nasıl yapılır

8 Mesajlar 963 Okunma
advertseo
wmaraci reklam

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)
iyi günler üzerinde çalışmış olduğum scripte hit sayacı eklemeyi düşünüyorum herşey tamam ancak tarihle alakalı bir sorunum var.neden tarihe göre yapmak istediğimi sorarsanız 1 haftalık hit grafiği yapmak içindir
1.veritabanına tarih değerini kaydederken time(); fonksiyonunu kullanarak kaydediyorum
2. Veritabanında tarih sütununun türünü int olarak belirledim
buna göre güncel tarihi kontrol etmem zorlaştı :(
1456723531 kaydedilen hitle 145674353 arasındakini kontrol ettirmek için nasıl bir yol izlemeliyim ?
Tablo yapısı

-> id
-> kategori
-> sayfa
-> tip//tekil-çoğul
-> Ref
-> tarih
-> ip

3. Bu tablo yapısında sizce hata var mı ?
 

 

wmaraci
reklam

maymaa maymaa Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 16.06.2016
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum Gaziantep
  • Ad Soyad M** Ö**
  • Mesajlar 274
  • Beğeniler 54 / 34
  • Ticaret 1, (%100)
time sadece saniye cinsinden kaydediyor bunu normal ay/gün/saat şeklinde yaparsan dahada kolaylaşır kardeşim
 

 

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

maymaa adlı üyeden alıntı

time sadece saniye cinsinden kaydediyor bunu normal ay/gün/saat şeklinde yaparsan dahada kolaylaşır kardeşim

yani date fonksiyonuyla (date("d.m.Y H")) yapmam daha mı mantıklı ?
 

 

maymaa maymaa Kimlik Onayı Bekliyor Banlı Kullanıcı
  • Üyelik 16.06.2016
  • Yaş/Cinsiyet 34 / E
  • Meslek Öğrenci
  • Konum Gaziantep
  • Ad Soyad M** Ö**
  • Mesajlar 274
  • Beğeniler 54 / 34
  • Ticaret 1, (%100)
aynen daha sonra çıkarıp aradaki gün sayısını bulabilirsiniz sadece yıl ay gün şeklinde kaydedip yapın saate gerek yok sonra da o kayıtdan 1 hafta sonraki kayıt ı alıp çıkarın internette vardı tarih toplama çıkarma :)
ismail03

kişi bu mesajı beğendi.

wmaraci
wmaraci

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

maymaa adlı üyeden alıntı

aynen daha sonra çıkarıp aradaki gün sayısını bulabilirsiniz sadece yıl ay gün şeklinde kaydedip yapın saate gerek yok sonra da o kayıtdan 1 hafta sonraki kayıt ı alıp çıkarın internette vardı tarih toplama çıkarma :)


maymaa adlı üyeden alıntı

time sadece saniye cinsinden kaydediyor bunu normal ay/gün/saat şeklinde yaparsan dahada kolaylaşır kardeşim


yaptım şimdi :)
$sql="select * from hit where tarih=:tarihal and ip=:ipal and kategori=:katal and sayfa=:ssiral order by id asc limit 5";
dediğiniz işlemi araştıracağım teşekkürler çok işime yaradı
 

 

adnan358 adnan358 WM Aracı Kullanıcı
  • Üyelik 14.08.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Web Developer
  • Konum İzmir
  • Ad Soyad A** B**
  • Mesajlar 159
  • Beğeniler 54 / 42
  • Ticaret 1, (%100)

ismail03 adlı üyeden alıntı

yaptım şimdi :)
$sql="select * from hit where tarih=:tarihal and ip=:ipal and kategori=:katal and sayfa=:ssiral order by id asc limit 5";
dediğiniz işlemi araştıracağım teşekkürler çok işime yaradı



SELECT * FROM hit WHERE tarih BETWEEN CURDATE() AND CURDATE() - INTERVAL 7 DAY

dersen zaten sana otomatik 1 haftalık eklenen veriyi çeker.

Ekleme yaparkende

INSERT INTO hit (kategori,ip,tarih) VALUES(1,192.xx.xx.xx,NOW())

yada NOW() yerine CURDATE() yaparsan hiç phpde time, date fonksiyonları ile uğraşmana gerek kalmaz
 

 

ismail03 ismail03 WM Aracı Kullanıcı
  • Üyelik 28.11.2013
  • Yaş/Cinsiyet 29 / E
  • Meslek Ameliyathane Hemşiresi
  • Konum Afyon
  • Ad Soyad I** Ç**
  • Mesajlar 2633
  • Beğeniler 344 / 487
  • Ticaret 12, (%100)

adnan358 adlı üyeden alıntı

SELECT * FROM hit WHERE tarih BETWEEN CURDATE() AND CURDATE() - INTERVAL 7 DAY

dersen zaten sana otomatik 1 haftalık eklenen veriyi çeker.

Ekleme yaparkende

INSERT INTO hit (kategori,ip,tarih) VALUES(1,192.xx.xx.xx,NOW())

yada NOW() yerine CURDATE() yaparsan hiç phpde time, date fonksiyonları ile uğraşmana gerek kalmaz



$sql="SELECT * FROM hitsayaci WHERE tarih BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()";
$sor=$this->vt()->query($sql);
$cek=$sor->FetchAll(PDO::FETCH_ASSOC);
return $cek;

Bunu 7 gün grafikte göstermek için nasıl bi sql kodu yazabiliriz
yani
23.10.2016 : 12
24.10.2016 : 20
25.10.2016 :50 giriş oldu
bana Tüm sonuçları yazdırıyor :(
 

 

adnan358 adnan358 WM Aracı Kullanıcı
  • Üyelik 14.08.2016
  • Yaş/Cinsiyet 28 / E
  • Meslek Web Developer
  • Konum İzmir
  • Ad Soyad A** B**
  • Mesajlar 159
  • Beğeniler 54 / 42
  • Ticaret 1, (%100)

ismail03 adlı üyeden alıntı

$sql="SELECT * FROM hitsayaci WHERE tarih BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()";
$sor=$this->vt()->query($sql);
$cek=$sor->FetchAll(PDO::FETCH_ASSOC);
return $cek;

Bunu 7 gün grafikte göstermek için nasıl bi sql kodu yazabiliriz
yani
23.10.2016 : 12
24.10.2016 : 20
25.10.2016 :50 giriş oldu
bana Tüm sonuçları yazdırıyor :(


SELECT * FROM hitsayaci WHERE tarih BETWEEN CURDATE() - INTERVAL 7 DAY AND CURDATE()
Sen niye sonuna AND CURDATE() ekledin ki ? between komutunu araştır biraz anlarsın zaten demek istediğimi.
Curdate() = Geçerli tarih, yani bugün
curdate() - ınterval - 7 day = bugünden 7 gün önceki tarih manasında
 

 

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