• 18-09-2010, 12:27:32
    #1
    Üyeliği durduruldu
    <?php 
         $sqlsorgu = mysql_query("SELECT * FROM ilan WHERE ilan_id='$IlanID' ORDER BY hit DESC");
         while($yazdir=mysql_fetch_array($sqlsorgu)){
         $say = $yazdir['hit']; ?>
             <?php 
    	   echo "$say"; 
    	   $ekle = $say + 1; 
    	   $kaydet = mysql_query("UPDATE ilan SET hit='$ekle' WHERE ilan_id='$IlanID' ");  
    	   ?>
            <?php } ?>
    Merhaba arkadaşlar... Yukarıda ki gibi kodlarla bir hit uygulaması yaptım fakat bu her sayfa yenilendiğinde hit artıyor... Ip göre nasıl hit artırırız...?
    Şimdiden Çok Teşekkürler..
    Diğer Arkadaşlara da faydası olması dileği ile....

    İyi Çalışmalar...
  • 18-09-2010, 12:40:30
    #2
    IP adreslerini bir SQL 'e kaydedersin bu kayıtı yaparkende SQL 'e yıl/ay/gun 'de eklersin gelen kişinin bugün bu IP adresine ait giriş bilgisi varmı yokmu kontrol edersin yoksa INSERT ile kaydedersin böylece gün boyunca aynı IP adresinden gelen kişileri sayabilirsin.

    Örnek SQL
    ----------------
    $tarih = date(Y).'/'.date(m).'/'.date(d);

    $result = mysql_query("SELECT * FROM ziyaret WHERE ziyaret_ip='".$_SERV['REMOTE_ADDR']."' and ziyaret_tarih='".$tarih."'");
    $numresult = mysql_num_rows($result);

    if ($numresult == 0) {
    $result = mysql_query("INSERT INTO ziyaret SET ziyaret_ip='".$_SERV['REMOTE_ADDR']."', ziyaret_tarih='".$tarih."'");
    }
  • 18-09-2010, 12:51:43
    #3
    erdemmin adlı üyeden alıntı: mesajı görüntüle
    IP adreslerini bir SQL 'e kaydedersin bu kayıtı yaparkende SQL 'e yıl/ay/gun 'de eklersin gelen kişinin bugün bu IP adresine ait giriş bilgisi varmı yokmu kontrol edersin yoksa INSERT ile kaydedersin böylece gün boyunca aynı IP adresinden gelen kişileri sayabilirsin.

    Örnek SQL
    ----------------
    $tarih = date(Y).'/'.date(m).'/'.date(d);

    $result = mysql_query("SELECT * FROM ziyaret WHERE ziyaret_ip='".$_SERV['REMOTE_ADDR']."' and ziyaret_tarih='".$tarih."'");
    $numresult = mysql_num_rows($result);

    if ($numresult == 0) {
    $result = mysql_query("INSERT INTO ziyaret SET ziyaret_ip='".$_SERV['REMOTE_ADDR']."', ziyaret_tarih='".$tarih."'");
    }
    Bu şekilde olursa girdiği ilk ilanın hitini bir artırır. Eğer başka ilanları gezerse o ilanların hitini artırmaz.

    <?php
    $result = mysql_query("SELECT * FROM ziyaret WHERE ziyaret_ip='".$_SERVER['REMOTE_ADDR']." and ilan_id = '".$IlanID."'");
    if(mysql_num_rows($result) == 0){
        mysql_query("UPDATE ilan SET hit=(hit+1) WHERE ilan_id='$IlanID' ");
        mysql_query("INSERT INTO ziyaret SET ziyaret_ip='".$_SERVER['REMOTE_ADDR']."', ziyaret_tarih='".time()."', ilan_id = '".$IlanID."'");
    }
    mysql_query("DELETE FROM ziyaret SET WHERE ziyaret_tarih < ".(time()-86400));
    ?>
  • 18-09-2010, 13:25:02
    #4
    Üyeliği durduruldu
    ErsaT, Arkadaşım ziyaret diye bir tablomu oluşturalım... Yoksa hit uygulamak istediğim tabloya bir alan mı ekleyelim.. Tam anlamadım... :S
  • 18-09-2010, 13:41:40
    #5
    acegen adlı üyeden alıntı: mesajı görüntüle
    ErsaT, Arkadaşım ziyaret diye bir tablomu oluşturalım... Yoksa hit uygulamak istediğim tabloya bir alan mı ekleyelim.. Tam anlamadım... :S
    ziyaret isminde yeni tablo oluşturacaksın.
    Alıntı
    CREATE TABLE `ziyaret` (
    `ziyaret_ip` int(50) NOT NULL,
    `ilan_id` int(10) NOT NULL,
    `ziyaret_tarih` int(50) NOT NULL,
    KEY `ziyaret_ip` (`ziyaret_ip`)
    );
  • 18-09-2010, 14:58:34
    #6
    bu işlem vertabanını çok yormazmı.
  • 18-09-2010, 14:59:52
    #7
    Üyeliği durduruldu
    Peki...? Cookie ile yapılamaz mı..? :S
  • 18-09-2010, 15:31:53
    #8
    Üyeliği durduruldu
    ErsaT, Arkadaşım kodları denedim olmadı... :S
  • 18-09-2010, 15:33:38
    #9
    acegen adlı üyeden alıntı: mesajı görüntüle
    ErsaT, Arkadaşım kodları denedim olmadı... :S
    tablo oluşturacaksın
    veritabanına bağlanacaksın
    insert yapacaksın.
    listeleyeceksin
    analiz ettireceksin..

    piyasada ücretli / ücretsiz scriptler var onları araştır