Ben bu tarz işlemlerde açıkcası üyelere, ziyaretçilere yükleme yaptırtma taraftarı değilim. Cron job olarak sunucu bunu yapabilirken, ziyaretçilere, üyelere işkence çektirmek sadistlik gibi geliyor bana Elbette karar sizlerin. Çalışmalarınızda başarılar dilerim.

İyi günler arkadaşlar, Veritabanındaki bi tablodan, belirlediğim kriterlere göre bazı veriler çekip sıralama yapmak istiyorum. Sorumu açık bir şekilde anlatmaya çalışacağım. Üyeler diyelim ki Ahmet ve Mehmet olsun. Bunların aktiviteleri veritabanındaki -sallıyorum- Üyelerin Aktiviteleri adlı tabloya şu şekilde işleniyor : Üye Adı Açıklama Ahmet Anket tamamladı. Mehmet Anket tamamladı. Ahmet Anket tamamladı. Ahmet Anket tamamladı. Ahmet Reklama tıkladı. Mehmet Anket tamamladı. Ahmet Ödeme talebi istedi. Bu tablodan Açıklamada &quot;Anket tamamladı&quot; ve &quot;Reklama tıkladı&quot; değerine göre üye isimlerini çekip en çok anket tamamlayan ilk 10 kişiye göre ve çoktan aza sıralanan bir sıralama yapmak istiyorum; Tabloya göre ahmet 3 anket tamamlamış ve 1 reklam banner'ına tıklamış, Ahmet'in tamamlama sayısı 4.. Mehmetse sadece 2 anket tamamlamış, onunki de 2. Reklam tamamlama sayısına göre çoktan aza sıralayıp ilk 10 üyeyi alarak, en çok reklam yapana en yüksek ödülü verecek şekilde ve takip eden üyelere de sıralamasına göre belirleyeceğim ödül tutarında liste yapmak istiyorum. Örnek; En çok anket tamamlayanlar ve reklam tıklayanlar Sırası Üye Adı Tamamlama sayısı Ödülü --1 Ahmet 4 50 USD --2 Mehmet 2 25 USD Çok uğraştım ama birtürlü sıralamayı yapamadım. while döngüsü içinde sıraladığımdaysa tablodaki isimleri olduğu gibi listeleyip sonuçları yazıyo, yani bir ismi birden çok yazıyo tabloda birden çok olduğu için, yani şu şekil : Üye Adı Tamamlama Ahmet 4 Mehmet 2 Ahmet 4 Ahmet 4 Ahmet 4 Mehmet 2 Verileri listeleyip dizi yapıp sıralamayı filan da denedim ama malesef olmadı.. Yardımlarınızı bekliyorum..

Selamlar, Tam olarak istediğini anladığım söylenemez . Eğer doğru olarak anladıysam döngü içerisinde $dizi değişkeni dizi yaparak veri aktarmak istiyorsun. Bu durumda ; PHP:

Elbette haklısınız ama scripti ben hazır aldım, php script olsa veritabanına girişleri ayarlayabilirim de cgi-bin ve de bir türlü okutamadım. Hemen hemen denemediğim program kalmadı ama cgi-bin dosyalarını okutamadım.. Yani demek istediğim, aktiviteler sonucunda veritabanına herhangi bir giriş yapamam script'in yaptıkları dışında :S

Bu tarz kodlama yaparsan ileride kodlamanı değiştirmen gerekecek. Açıklama geçmişi görmek için güzel ancak her anket tamamlandığında, her reklama tıklandığında işlem kaydı girdikten hemen sonra ya da hemen önce mutlaka tiklananReklam, tamamlananAnket alanlarındaki sayı değerlerini 1 artırmanı öneririm. Bu şekilde sistemin üzerinde olan yükü hafifletirsin. Üye sayın ve işlemler arttıkça bu bilgileri anlık olarak toplaman çok büyük bir yüke sebep olabilir. Kısacası yaptığın kötü kodlama alışkanlığıdır. Ben mesajımı yazarken bilgi vermişsin. Problem değil, PHP ile o veritabanına bağlanıp sayımları yapıp her üye için bu alanları yaratıp yine ekleme yapabilirsin.

Cron olarak ekleyebilirsiniz en kötü ihtimalle, yine elle çalıştırmanıza gerek kalmaz. Eğer scripte müdahale edemiyorsanız zaten içine kod sokamayacağınız için dışarıdan kod yazmak dışında pek bir çözüm göremedim açıkcası.

Teşekürler, O zaman ikinci yoldan çözeyim bu sorunu. Reklamverenlerin otomatik olarak göndereceği postback'i ikinci bir URL'ye yönlendirerek üyenin tamamlama sayısını artırmak en mantıklısı gibi duruyor şu anda..

Pixeler' Alıntı:

Böyle karışık bir şey yapmak yerine aklıma şöyle bir şey geldi; uye_aktivite tablon olsun yapısıda : uyeid-reklam-anket üye her reklam tamamladığında reklam alanı, anket tamamladığında anket alanı +1 olsun listelerkende sorgu : SELECT FROM uye_aktivite ORDER BY anket DESC Böyle bir şey daha kolay olur gibi...