Sayaç php mysql tıklayın?

3 Cevap php

Hey, ben bir linke tıklamaları izlemek ve bağlantı mysql veritabanında tıklandığında kaç kez saklamak için basit bir yol arıyordum. Herkes bunu yapmak için nasıl sağlam bir yaklaşım var?

Teşekkürler.

3 Cevap

Evet. Sen link izleme tabloya bir kayıt ekler ve son bağlantı konuma kullanıcıyı yönlendirir, sitenizdeki bir yönlendirici komut dosyasına gitmek var.

Dikkate almak gerekir büyük şeylerden biri, ölçek - Eğer varsa kaç kullanıcı bağlı, sizin gibi basit bir şey yapabilirsiniz:

Initial page creation (admin)

INSERT INTO visit_track_table (id, count, url) VALUES (1, 0, 'page.php');

Page update (user)

UPDATE visit_track_table SET count=count+1 WHERE url='page.php';

Burada sorun, bu satır sayfaya her ziyaretçi için kilitli olması olmasıdır.

Daha iyi bir yaklaşım genel bir toplam vermek için periyodik olarak tekrar hesaplanır ölçeklenebilir bir segmentasyon tanımlamaktır. Bunu yapmanın en kolay yolu, az eşzamanlı kullanıcılar aynı veritabanı satır kilitlemek, böylece rastgele bir sonek sağlamaktır.

Scalable

UPDATE visit_track_table SET count=count+1 WHERE url='page.php-N'

Bu sorguda-N eki sayfa başına 100 satır tahsis istiyorsa gelen '-0' -100 'aralığında olacağını ayarlanmış bir parametre tarafından oluşturulmuş olacak. N optimum değeri kullanıcı tabanına bağlı olacaktır.

Tallying (done periodically by a cron job perhaps)

SELECT SUM(count) AS M FROM visit_track_table WHERE url LIKE 'page.php-%'

UPDATE visit_track_table SET count=M WHERE url='page.php'

EDIT: Evet size gidiyoruz URL'yi kaydeden bir ara sayfa olması gerekir.

Sen ajax veya bir sıçrama sayfasını kullanabilirsiniz:

Bounce: bir sayaç script linki ileriye gibi, http://www.your-domain.com?click_count.php?forward=http://another-domain.com/destination.html

'INSERT INTO clicks ('http://another-domain.com/destination.html gibi sql kullanarak, 1) YİNELENEN KEY GÜNCELLEME tıklama ON = 1 tıklar

Ajax: belki aynı tıklama counter script, bir ajax çağrı göndermek ve daha sonra bağlantıyı takip true dönmek için onclick javascript olay ekleyebilirsiniz.

Ajax yöntemi bir sıçrama senaryo iyi yapacak bu durumda sizin için yeterince güçlü olmayabilir hangi besbelli javascript gerektirir ve gerçekten farkedilemez olacak