• 24-01-2015, 14:28:01
    #1
    Merhaba,

    PHP mysql ile sayac yapmaya calısıyorum toplam çoğul ve tekilleri alabiliyorum tıklamalarıda alabiliyorum, ancak bugün tekil ve çoğul dün tekil ve çoğulları alamıyorum sorgu aşağıdadır.

    /*Başlangıç--Sistemdeki Bugünün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
    $bugun = mysql_query("SELECT COUNT(ip) AS ttoplam, SUM(tiklama) AS ctoplam FROM ip_sayaci WHERE tarih='$buguntarih'");
    //Sorgumuzu yaptık. Bu sorguyu anlamak için biraz MYSQL bilginiz olursa daha rahat edersiniz.
    //1. Tekil sayısını bugün kaç tane giriş yapan IP varsa onu saydırarak öğrenebiliriz.
    //2. Çoğul sayısını bugün kaç tane tiklama varsa onları toplatırarak öğrenebiliriz.
    $bugun_veri = mysql_fetch_object($bugun);
    //Burada farklılık olması açısından Class'a attım verilerimizi
    $bugun_tekil = $bugun_veri->ttoplam;//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*/
  • 24-01-2015, 14:51:59
    #2
    SELECT COUNT(ip) AS ttoplam FROM ip_sayaci WHERE tarih='$buguntarih' GROUP BY ip

    sorgusunu bir deneyin.
  • 24-01-2015, 15:14:06
    #3
    emrahakin adlı üyeden alıntı: mesajı görüntüle
    SELECT COUNT(ip) AS ttoplam FROM ip_sayaci WHERE tarih='$buguntarih' GROUP BY ip

    sorgusunu bir deneyin.
    çekmiyor hocam.
  • 24-01-2015, 15:32:00
    #4
    Veri çektiğiniz sorgunun sonuna GROUP BY ip-adresinin-yazili-olduğu-alan eklerseniz çalışır. Dikkat ederek bir kez daha deneyin. Çünkü ben daha önce aynı bu şekilde yapmıştım.
  • 24-01-2015, 16:05:49
    #5
    emrahakin adlı üyeden alıntı: mesajı görüntüle
    Veri çektiğiniz sorgunun sonuna GROUP BY ip-adresinin-yazili-olduğu-alan eklerseniz çalışır. Dikkat ederek bir kez daha deneyin. Çünkü ben daha önce aynı bu şekilde yapmıştım.
    böyle deniyorum ancak çekmiyor hocam.

    /*Başlangıç--Sistemdeki Bugünün Tekil ve Çoğul Ziyaretçilerin Sayısını Öğrenme*/
    $bugun = mysql_query("SELECT COUNT(ip) AS ttoplam, SUM(tiklama) AS ctoplam FROM ip_sayaci WHERE tarih='$buguntarih' GROUP BY ip");
    //Sorgumuzu yaptık. Bu sorguyu anlamak için biraz MYSQL bilginiz olursa daha rahat edersiniz.
    //1. Tekil sayısını bugün kaç tane giriş yapan IP varsa onu saydırarak öğrenebiliriz.
    //2. Çoğul sayısını bugün kaç tane tiklama varsa onları toplatırarak öğrenebiliriz.
    $bugun_veri = mysql_fetch_object($bugun);
    //Burada farklılık olması açısından Class'a attım verilerimizi
    $bugun_tekil = $bugun_veri->ttoplam;//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) GROUP BY ip");
    //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*/
  • 24-01-2015, 16:12:35
    #6
    $bugun = mysql_query("SELECT DISTINCT ip, COUNT(ip) AS toplam FROM ip_sayaci WHERE tarih = '".$buguntarih."'");

    Bir de bunu deneyin bakalım sonuc ne olacak.
  • 24-01-2015, 16:26:19
    #7
    emrahakin adlı üyeden alıntı: mesajı görüntüle
    $bugun = mysql_query("SELECT DISTINCT ip, COUNT(ip) AS toplam FROM ip_sayaci WHERE tarih = '".$buguntarih."'");

    Bir de bunu deneyin bakalım sonuc ne olacak.
    yeni bir date değişkeni oluşturup hallettim sorunu hocam sorgularda sorun yokmuş, yinede çok teşekkür ederim.