Aktif Konular Son 50 Konu
Aktif Kullanıcılar Aktif Kullanıcılar
Aktif Konular Aktif Konular
Forum Üyelerini Göster Forum Üyelerini Göster
Forumu Ara Forumu Ara
Yardım Yardım

Giriş Giriş Yap
Forum Ana Sayfaya Git Forum
Download modülü Download modülü
Hızlı Erişim Menü Kişisel
Görevliler: Administrator,
TurkeyForum.info
      Kilitli ForumBİLGİSAYAR & DONANIM & YAZILIM
         Kilitli ForumWEBMASTER
            Kilitli ForumAsp, php, jawa kod destek
                 Mesaj icon Konu Başlığı: Asp puan sistemi
Yanıt YazYeni Konu Gönder Giriş
REaliST Menü Göster
Yönetici
Simge
Site Kurucusu
Üye no: 1
Cinsiyet: Erkek , A Rh +
Konum: 70 - 43
03.Şubat.2004
Mesaj: 4626

Aktiflik
100%
Yönetici

Alıntı REaliST Cevapla Konu: Asp puan sistemi  Zaman: 01.Aralık.2008 Saat 18:22  Paylaş
    Font Boyut:

Asp puan sistemi



Alıntıdır ! "TürkProgrammers"
 

Bu makale'de herhangi bir içeriğimize nasıl oy sistemi yapabileceğimizi yazacağız.İçerik olarak genel dememin sebebi bu herhangi birşey olabilir.
Puan sisteminin mantığında ise;
2 adet alanımız olur ve puan verildiği zaman o içeriğe ait olan Puan veren kişi sayısı 1 arttırılır ve toplam puan adlı alanımıza verilmiş puan eklenir.Bir daha oy vermemesini sağlamak için cookie gönderilir(Tamamen engellenmez).O içeriğe ait olan puan gösterilirken toplam puan, puan veren kişi sayısına bölünür ve böylece puan gösterimi yapılmış olur.İsterseniz IF 'li bir döngü ile yıldız sistemi yapabilirsiniz.
Puan sistemine başlamadan önce içerik tablomuz hazır olsun.Bu içerik tablomuzda 2 adet alan oluşturacağız.

Bu alanlar aşağıdadır.

ToplamPuan(Number)
ToplamKisi(Number)

Bu alanları oluşturup değerleri üstteki gibi ayarladıktan sonra sayfamıza geçelim ve puan vermek için bir form oluşturalım.
BU formu hazırlarken içeriğimizin id numarasını almalıyız.Bu id numarası hangi içeriğe oy verdiğimizi belirleyecek.
Anlatımda id numarasını "id" değişkeninde olduğunu varsayacağım.Bu id numarasını genelde o içeriğe ait detayları gösterirken Querystring ile aldığımız değer olabilir.
Şimdi formu oluşturalım, 1 'den 10 'a kadar puanlarımız olsun.Bu rakamı istediğiniz gibi arttırabilirsiniz.



<form name="frmPuan" method="post" action="PuanVer.asp">
<select name="sPuan" size="1">
<% For i=0 To 10 %><option><%=i%></option><% Next%>
</select>
<input type="hidden" name="id" value="<%=id%>"
</form>


Formumuz yukarıdadır.Bu form "post" yöntemi ile PuanVer.asp adlı oluşturacağımız sayfamıza gönderilecektir.Bu sayfada ise veritabanımızdaki o id ye ait kayıdı seçtirip Puan veren kişi sayısını 1 arttıracağız ve Toplam puan'a verilen puan 'ı ekleyeceğiz.

"PuanVer.asp" adlı sayfamız aşağıdadır.Genel olarak alan ve tablo ismi yazacağım.Kendi bilgilerinizi yazmanız gerekmektedir.



<%
'ObjConn isminde veritabanı bağlantınız buraya..

strSQL = "Select * from Tabloismi Where id = " & Request.Form("id") & ""
Set ObjRS = Server.CreateObject("Adodb.Recordset")
ObjRS.Open strSQL,ObjConn,1,3

ObjRS("ToplamPuan")=ObjRS("ToplamPuan")+Request.Form("sPuan")
ObjRS("ToplamKisi")=ObjRS("ToplamKisi")+1
ObjRS.Update

'İsterseniz bir daha göndermesini engellemek için cookie gönderimini burada yapabilirsiniz.Hemen altta örnek bir kod yazdım.

Response.Cookies("IcerikPuan")(Request.Form("id"))=Request.Form("sPuan")
Response.Cookies("IcerikPuan").Expires = #01/10/2020#
%>




Evet puan kayıt işlemide yapılmış oldu.Örnek olarak bir cookie yolladık, bu cookie'de içeriğin id numarası ve karşılığı olarak göndermiş olduğu puanı yazdık.
Şimdi bu puanı nasıl göstereceğimizi öğreneceğiz.Yazacağım kodlarda ise veritabanınızdan querystring ile aldığım id ye göre içerik seçilecek ve bu içeriğin puan'ı yazdırılacak.


<%
'ObjConn isminde veritabanı bağlantınız buraya..

strSQL = "Select * from Tabloismi Where id = " & Request.Form("id") & ""
Set ObjRS = Server.CreateObject("Adodb.Recordset")
ObjRS.Open strSQL,ObjConn,1,3

If ObjRS("ToplamKisi") <> 0 Then
Response.Write "Puan : " & Round(ObjRS("ToplamPuan") / ObjRS("ToplamKisi"),1)
Else
Response.Write "Bu içeriğe puan verilmemiştir."
End If
%>



İçeriğe ait puanımızı yazdırdık.Yapmamız gerek herşey bukadar.
Önemli Not : Veritabanınıza içeriğinizi eklerken ToplamKisi ve ToplamPuan adlı alanlarınıza "0" değerinin eklendiğinden emin olmalısınız.

Extra olarak cookie'ye göre nasıl form çıkarıp gösterimi yapılacağını görelim.Yukarıda gönderilen cookie değerlerine göre işlem yapacağız.İçeriğimizin "id" numarasına gösterildiği sayfada yapacağız bu işlemi.Veritabanındaki kayıdın numarasını "id" olarak kabul ediyoruz tekrardan.


<%
IcerikIDPuan = Request.Cookies("IcerikPuan")(id)
If IcerikIDPuan <> "" Then
Response.Write "Bu içeriğe " & IcerikIDPuan & " puan vermişsiniz."
Else
%>

'Yukarıdaki puan verme formunu buraya koyabilirsiniz.
<% End If %>



Evet bunuda öğrendiğimize göre sonbirşey kalıyor.Puanlarımızı yıldız olarak göstermek;
Bunu yapmamız zorunlu değildir fakat yapmak isteyenler olabilir.İçeriğimizin puanı kadar for döngüsü yapabiliriz.O kadar yıldız çıkabilir.
Bunun için bize bir adet .gif dosyası gerekiyor.Bunu yıldız olarak kabul edelim ve ismide "Doluyildiz.gif" olsun.Birde kaç puan üzerinden olduğunu belirlemek için "Bosyildiz.gif" adlı bir resim daha hazırlayın.
Aşağıda buna göre bir döngü yapacağız.İçeriğimizin gösterildiği adresde yine veritabanımızdan alanı seçtirelim ve puanımızı yazdıralım


<%
'Veritabanımızdan ObjRS ile yukarıda örneklerdeki gibi id ye göre kayıt seçtirdik.

If ObjRS("ToplamKisi") <> 0 Then
IcerikPuan = Round(ObjRS("ToplamPuan") / ObjRS("ToplamKisi"),0)
For i=1 to 10
If i<IcerikPuan Then
Response.Write "<img src=doluyildiz.gif>"
Else
Response.Write "<img src=bosyildiz.gif>"
End If
Next

Else
Response.Write "Bu içeriğin puanı yoktur."
End If
%>


Evet böylece yıldız sistemimizi de yapmış olduk.Burada bir 1 den 10 a kadar bir döngü başlatıyoruz.Bu döngüde eğer döngünün sırası yani "i" içeriğimizin puanından küçük ise dolu yıldız, değil ise boş yıldız resmi ekrana çıkartıyoruz.Bu resimler yanyana çıkacak ve toplamda 10 adet yanyana yıldız çıkacaktır.


Kaynak:
IP
 Cevapla  

Etiketler: Asp puan sistemi, 
       
  KASPERSKY KIS/KAV all keys Update [29-06-2010]  math29  Antivirüs - Güvenlik Araçları  01.07.2010 18:49:01
  Lisans Merkezi v3 lisanssız işletim sistemi kalmasın  math29  DOWNLOAD  01.07.2010 18:23:20
  KASPERSKY KIS/KAV all keys Update [29-06-2010]  math29  DOWNLOAD  01.07.2010 18:22:33
  RC Eğitim 2010 Php & Mysql Makale Yönetim Sistemi Eğitim Seti  haci100  Asp, php, jawa kod destek  30.05.2010 00:38:17
  Asp.net Maker  REaliST  WEBMASTER  23.05.2010 12:02:45
  Kaspersky Rescue Disk 10.0.20.1 DevBuild  REaliST  DOWNLOAD  27.04.2010 19:26:58
  Kaspersky KIS-KAV All Versions KEYS 100 Keys  akuzu  Antivirüs - Güvenlik Araçları  26.04.2010 17:30:11
  Kaspersky 2010 key girme yöntemi  REaliST  PROGRAM İLAÇLARI  13.04.2010 09:49:04
Yanıt Yaz Yeni Konu Gönder
Konuyu Yazdır Konuyu Yazdır

Forum Atla


   TurkeyForum.info - Paylaşmak Özgürlüktür