Oca 312011
 

Geçtiğimiz Aylarda Sayaç Sınıfımın v1 sürümünü yayımlamıştım boş olduğum vakitlerde bir iki kod parçaçığı ekleyebildim allaha şükür icon smile Php & MySQL Sayac Sınıfı v1.2 Nasıl Kullanılacağını Sorarsanız biraz Php OOP bilginizin olması ve PHP Sayaç Sınıfı adlı yazıma bakabilirsiniz.
PHP&MySQL Sayaç Class Download
Gelen rarlı dosya içerisinde
Sayac_class.php < Sayaç Sınıfının bulunduğu Ana dosyamız
example.php < Sınıfın Örneklendirilmiş şekilde anlatım dosyası
php-mysql-sayac-class.sql < Veritabanı tabloları (3 adet)
Veritabanı Tablolarının Bir Örneğide Alttadır.

CREATE TABLE `iploglar` (
  `id` int(11) NOT NULL auto_increment,
  `ip` varchar(100) NOT NULL,
  `tarih` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `tarayici` varchar(200) character set utf8 collate utf8_turkish_ci NOT NULL,
  `ulke` varchar(100) NOT NULL,
  `sehir` varchar(100) NOT NULL,
  `bayrak` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;

CREATE TABLE `tekilcogul` (
  `id` int(11) NOT NULL auto_increment,
  `tekil` varchar(100) NOT NULL,
  `cogul` varchar(100) NOT NULL,
  `tarih` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `saat` varchar(100) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=0 ;

CREATE TABLE `ziyaretciler` (
  `id` int(100) NOT NULL auto_increment,
  `gonderen` varchar(250) character set utf8 collate utf8_turkish_ci NOT NULL,
  `ulke` varchar(100) character set utf8 collate utf8_turkish_ci NOT NULL,
  `sehir` varchar(100) character set utf8 collate utf8_turkish_ci NOT NULL,
  `tarih` timestamp NOT NULL default CURRENT_TIMESTAMP,
  `ip` varchar(100) character set utf8 collate utf8_turkish_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;

Kemal

  20 Responses to “Php & MySQL Sayac Sınıfı v1.2”

  1. indiremiyorum dosyayı ama ?

  2. Kemal bey gerçekten hoş bi sınıf olmus ancak bunun bi demosunu ve sayfaya eklenişini html kodları ile birlikte şöle güzel bi örneğini sunsanız daha yardımcı olur.bu şekilde biraz boşta kalmış gibi

  3. Aslına bakarsanız indirdiğiniz dosya içersinde example.php isimli dosya içinde kullanımını var daha detaylı bir döküman hazırlayacağım Takipte kalın.

  4. şu anda deniyorum gunluk tekil goster ve gunluk çoğul göster fonksiyonları çalışmıyo. toplam tekil ve çoğul da aynı anda artıyo. her ziyarette hem tekil hem çoğul aynı gidiyo :) bilginiz olsun

  5. Haklsın oradaki hatayı düzelttim ufakta eklemeler yaptım tekrar paylaştım indirebilirsiniz örneğinide detaylandırdım

  6. [...] Arkadaşlar Burada Yayınladığım Class’ta hata yapmışım şimdi mevcut hataları giderip birazda example [...]

  7. mrb hocam ben anlatamadım galiba sayac localhosta
    calişiyor bi sorun yok
    ama ben onu nasil sitede kulanacam sayac.php icindeki kodumu yapıştıroyorum olmuyor değişik bi yolumu var lütfen yardımcı olun o sayacı siteye koymam lazım :sad:

  8. Benim Sayaç Sınıfımımdamı sorun yaşıyorsunuz yoksa başka bir sınıftamı benim yazmış olduğumda yaşıyorsanız
    $sinif=new KemalBSayac; satırından önce veritabanı bağlantısı kurulmuş olması gerekir ve veritabanında tabloların oluşturulmuş olması gerekir.

  9. mrb:yok hocam sayac.php başka yerden indirdim yalnız sayac.php www klasore kaydettim sonra veritabanı oluşturdum sayaç.php de olan tabloları ekledim localde çalıştı ama siteye koyamadım daha doğrusu siteye nasil koyacağımı bilmiyorum sayac localde çalişiyor güzel sayac.php icindeki kodu mu eklemem gerekir yoksa başka işlemleri mi var. lütfen yardim ederseniz sevinirim saygılar.

  10. Kullandığınız Sayacı bilmiyorum ama veritabanı kullanıyorsa yapılmış olabilcek hataları yazayım
    veritabanı bağlantısı hatalı olabilir
    - mysql_connect(‘host’,'veritabanı kullanıcı adı ‘,’veritabanı kullanıcı parola’);
    mysql_select_db(‘veritabanı adı’); buna benzer satır olması gerekiyor bunlar var olup ve bilgilerinin doğru girilmemiş olabilir
    -sayacın kodlarını eklediğiniz dosya php dosyası olmaması .html,asp,aspx olabilir.

  11. 0){ $eski_kayit_sil = mysql_query(“DELETE FROM ip_sayaci WHERE tarih <= DATE_SUB('$buguntarih', INTERVAL $gun DAY)"); } /*Başlangıç-Online ziyaretçileri saydırmak için yapılan veri giriş, güncelleme ve silme*/ //Süre sınırı ile ilgi sql cümleciği $sure_miktari= mysql_query("DELETE FROM online_ziyaretci WHERE tarihttoplam;//Bugün Toplam Tekil Ziyaretci Sayısı $bugun_cogul = $bugun_veri->ctoplam;//Bugün Toplam Çoğul Ziyaretçi SAyısı /*Bitiş–Sistemdeki Bugünün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/ /*Başlangıç–Sistemdeki Dün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/ $dun = mysql_query(“SELECT COUNT(ip) AS dttoplam, SUM(tiklama) AS dctoplam FROM ip_sayaci WHERE tarih = DATE_SUB(‘$buguntarih’, INTERVAL 1 DAY)”); //Sorgumuzu yaptırıyoruz.SQL cümleciğindeki tek fark gün işlemleri fonksiyonu olan DATE_SUB’u kullandık ve önceki tarihteki değeri öğrendik. $dun_veri = mysql_fetch_object($dun);//Class’a attık. $dun_tekil = $dun_veri->dttoplam;//Dün Toplam Tekil Ziyaretci Sayısı $dun_cogul = $dun_veri->dctoplam;//Dün Toplam Çoğul Ziyaretci Sayısı /*Bitiş–Sistemdeki Dün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/ ?> özinlime dediğim zaman bu kod dışarda görunuyor

  12. function sayac() {

    @mysql_connect(“localhost”, “root”, “”) or die(“Host ile bağlantı kurulamıyor: ” . mysql_error());
    @mysql_select_db(“deneme”);

  13. 0){ $eski_kayit_sil = mysql_query(“DELETE FROM ip_sayaci WHERE tarih <= DATE_SUB('$buguntarih', INTERVAL $gun DAY)"); } /*Başlangıç-Online ziyaretçileri saydırmak için yapılan veri giriş, güncelleme ve silme*/ //Süre sınırı ile ilgi sql cümleciği $sure_miktari= mysql_query("DELETE FROM online_ziyaretci WHERE tarihttoplam;//Bugün Toplam Tekil Ziyaretci Sayısı $bugun_cogul = $bugun_veri->ctoplam;//Bugün Toplam Çoğul Ziyaretçi SAyısı /*Bitiş–Sistemdeki Bugünün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/ /*Başlangıç–Sistemdeki Dün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/ $dun = mysql_query(“SELECT COUNT(ip) AS dttoplam, SUM(tiklama) AS dctoplam FROM ip_sayaci WHERE tarih = DATE_SUB(‘$buguntarih’, INTERVAL 1 DAY)”); //Sorgumuzu yaptırıyoruz.SQL cümleciğindeki tek fark gün işlemleri fonksiyonu olan DATE_SUB’u kullandık ve önceki tarihteki değeri öğrendik. $dun_veri = mysql_fetch_object($dun);//Class’a attık. $dun_tekil = $dun_veri->dttoplam;//Dün Toplam Tekil Ziyaretci Sayısı $dun_cogul = $dun_veri->dctoplam;//Dün Toplam Çoğul Ziyaretci Sayısı /*Bitiş–Sistemdeki Dün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/ ?> ZİYARETÇİ SAYACI
    Online :
    Bugün Tekil :
    Bugün Çoğul :
    Dün Tekil :
    Dün Çoğul :
    Toplam Tekil :
    Toplam Çoğul :
    IP :
    phpsorunu

    siteye ekledikten sonrada bu şekil oluyor

  14. sitem html miş yani php kodu eklenmezmiş bu kodu nasil html ye cevirecem acaba

  15. htmle çeviremezsiniz çünkü php ve mysql işlemleri html sayfalarda çalıştıramazsınız.

  16. hocam saol tşk yardımlarınız için

  17. hocam veri tabanı bağlantısı fonk. eklenmemiş mi?

  18. Evet eklemedim
    eklemiş olsaydım sınıfın olduğu sayfada 2 adet veritabanı olacaktı ve sunucu için bu gereksiz bişeydir neden derseniz.
    Php ile veritabanı bağlantısı yapıldığında veritabanı socket i açılır eğer sınıfta veritabanı bağlantısı yapmış olsaydım
    her açılan sayfada 2 şer adet socket açılacaktı sunucuya ek yük binecekti örneğin siteniz hit alan bir site olsaydı sitenizde 100 adet anlık ziyaretçi aldığınızda 200 adet socket açılacaktı ve sunucu olduğundada gereksiz bir yük binecekti
    böylece sınıfı yaptık ama kullananlara zarar sağlamamışız olduk :) yakın zaman performans için ilaveler yapacağım da elimdeki projeden vakit ayırabilirsem tabi :)

  19. Deneyelim bakalım.Umarım memnun kalırız.

 Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>