Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » ASP » ASP ile anket uygulamasında total %....


Yanıt
 
LinkBack Seçenekler
Old 30.11.2002   #1 (permalink)
 
Murathan's Avatar
 
Üyelik Tarihi: 08.11.2002
Yer: ISTANBUL
Yaş: 29
Mesaj: 502
ASP ile anket uygulamasında total %....


ASP ile anket uygulaması var bilirsiniz evcilasp den almıştım.
Aşağıda kodlarıda yazıcam.sorun şu bu anket bir türlü tam olarak çalışmıyor.
Yani çalışıyorda %'leri gösterirken %99 olarak gösteriyor.
bunun yüzde 1'lik küsürattan kaynaklandığını düşünerek
%'leri küsüratlı göstermek için şu satırla
yuzde = Int((secenekler("sec_sayac") / Total) * 100)
bu satırı
yuzde = FormatNumber((secenekler("sec_sayac" ) / Total * 100), 2)
değiştirdim. Sonuçta küsüratlarıda gösteriyor hesapladığımda net %100 oluyordu en son baktığımda ama şimdi yine aynı.
%100 olmuyor toplamda...
Birde denemek için 20 adet seçenek yaptım yine olmadı acaba diyorum 20 seçenek oluncamı sapıttı.
Herneyse olay bu benim istediğim turk.net tede ASP ile yapmışlar anketi aynen oradaki gibi yapmak.Yani bir sürü anket sonucuna baktım hepsi %10 + %9 + %81 = %100
Böyle olsun istiyorum ayrıca bu kodlara nasıl bir ekleme yaparsam değişir normal hale gelir ve çok seçenek koyabilmeliyim mesela 25 tane ne yapmalıyım?

Yabancı scriptlere baktım bulamadım dediğim gibi.
Birde bu grafikleri renk renk yapma ihtimali varmı bu kod üzerinde ?
Neyse ben kodu yazıyorum...
<%'-----------------------------------------------------------'%>
<%
' tavandaki sorgu cümlesinden anket_id değeri iste
anket_id = Request.querystring("anket_id")

' veritabanı dosyası için göreli konum
vt_yol = server.mappath("db/anket.mdb")

' baglantı nesnesi oluştur, sonra da vt dosyası ile aç
Set bag = CreateObject("ADODB.Connection")
bag.Open("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & vt_yol)

' sorgu cümlesinden istenen anket_id için bir takım denetimler
' eğer anket_id belirtilmediyse veya hatalı verildiyseen son oluşturulan anket kaydı açılıyor.
if len(anket_id) = 0 or not isnumeric(anket_id) then
Set anket = bag.Execute("SELECT * FROM anketler order by anket_tarih desc")
anket_id = anket("anket_id")
anket_id = cstr(anket_id)
else ' sayısal olarak bir anket_id belirtildiyse aç
Set anket = bag.Execute("SELECT * FROM anketler WHERE anket_id=" & anket_id)
end if

If anket.EOF Then ' eğer kayıt yoksa (yani anket yoksa) ikaz yuvarla
Response.write "<H2>Bu Anket Kayıtlarda Yok!</H2>"
diger_anketler ' mevcut anketleri göster
response.end ' karşılık vermeyi kes
Else ' eğer anket varsa çerez kontrollerine başla
'Söz konusu anket_id si için oylandı imzası atılmışsa
If Request.Cookies("SanaLEylem.Net")(anket_id) = "oylandi" Then
oymusade = false ' oylamaya müsade etme
Else ' eğer oylanmamış bir anket ise
sec_id = Request.form("sec_id") ' formdan seçenek id sini iste
If Len(sec_id) > 0 Then ' seçim yapılmışsa
'Seçeneğin sayacını bir artır.
bag.Execute "UPDATE secenekler SET sec_sayac = " &_
"sec_sayac + 1 WHERE sec_id=" & sec_id
'Çerezlerin mekanına anket id si için oylandı imzası yolla...
Response.Cookies("SanaLEylem.Net")(anket_id) = "oylandi"
'Çerez bir yıl sonra bayatlasın
Response.Cookies("www").Expires = Now() + 365
'Artık oy vermeye müsade etme
oymusade = false
Else
' eğer seçim yapılmadan tuşa basılmış ise seçim yapmaya müsade ver
oymusade = true
End If
End If

anket_soru = anket("anket_soru")
anket_tarih = anket("anket_tarih")
anket.close
Set anket = Nothing

'Anket id sine karşılık gelen seçeneklerle bir kayıt kümesi oluştur.
set secenekler = server.createobject("ADODB.Recordset")
SQL = "SELECT * FROM secenekler WHERE anket_id = " & anket_id & " order by secenek"
secenekler.open SQL, bag, 1, 3

'Eğer anket için seçenek yaratılmamışsa bunu belirt.
If secenekler.recordcount = 0 Then
Response.Write "<h3>" & anket_soru & "</h3>"
Response.Write "BU ANKET İÇİN HENÜZ SEÇENEK OLUŞTURULMAMIŞ!<br><br><br>"
secenekler.close
set secenekler = Nothing
diger_anketler
response.end
End If

'Kullanılan oy sayısının hesabı için bir sayısal değişken lazım
Total = 0
Do While Not secenekler.EOF
Total = Total + secenekler("sec_sayac")
secenekler.MoveNext
Loop
%> <%'---------------------------------------------------------'%>
<% ' ANKET FORMU %> <font SIZE="2" COLOR="#CC0000" FACE="Verdana, Arial, Helvetica, sans-serif"><B><%= anket_soru %>
</B></font> <BR>&nbsp;&nbsp;<form METHOD=post ACTION="default.ASP?anket_id=<%=anket_id%>">
<TABLE BORDER=0> <%
secenekler.MoveFirst
Do While Not secenekler.EOF
If Total > 0 Then
' yüzde değer hesapla
yuzde = FormatNumber((secenekler("sec_sayac" ) / Total * 100), 2)
Else
yuzde = 0
End If
%> <TR> <% ' oy vermeye müsade varsa radio inputları koy %> <%If oymusade then%>
<TD WIDTH=""> <INPUT TYPE="radio" NAME="sec_id" VALUE="<% = secenekler("sec_id") %>">
</TD><% end if %> <TD> <B>&nbsp;<%= secenekler("secenek") %></B>&nbsp;&nbsp;</TD><TD><%= yuzde %>%</TD><TD><IMG SRC="resim/red.GIF" HEIGHT="12" WIDTH="<%= yuzde%>"></TD><TD><%= secenekler("sec_sayac")%>
oy</TD></TR> <%
secenekler.MoveNext
Loop
secenekler.close
set secenekler = Nothing
End if
%> </TABLE><BR> <% ' oy vermeye müsade varsa butonu koy %> <%If oymusade then%>
<center><INPUT TYPE=submit VALUE="Oy Ver!" CLASS="tus" NAME="submit" ></center> <% else %> <BR>
&nbsp;Anketimize Katıldığınız İçin Teşekkür Ederiz...<I> </I> <% end if %> </form>&nbsp;<IMG SRC="resim/redkare.gif" WIDTH="9" HEIGHT="9">&nbsp;Ankete
başlama&nbsp;tarihi<%= anket_tarih %>) <BR> &nbsp;<IMG SRC="resim/redkare.gif" WIDTH="9" HEIGHT="9">
Bu ankete <%= total %> kişi katıldı. <% diger_anketler ' prosedürünü çağır %>
<%'-------------------------------------------'%>
<%
sub diger_anketler
%> <BR> &nbsp;<IMG SRC="resim/redkare.gif" WIDTH="9" HEIGHT="9"> Diğer
Anketler:<BR> &nbsp;&nbsp;&nbsp; <%
Set diger= bag.Execute("SELECT * FROM anketler ORDER BY anket_tarih DESC ")
Do While Not diger.EOF
If cstr(diger("anket_id")) = anket_id Then
Response.write "<br>&nbsp;<img src='resim/oki.gif' width='12' height='13'> " & diger("anket_soru") & " - " &diger("anket_tarih") & ""
Else
Response.write "<br>&nbsp;<img src='resim/OK.GIF' width='12' height='13'> <A href=""default.ASP?anket_id=" & diger("anket_id") & """>"
Response.write diger("anket_soru") & " - " &diger("anket_tarih") & "</A>"
End If
diger.MoveNext
Loop
diger.close
set diger = Nothing
bag.close
set bag = nothing
%> <BR> <%
end sub ' diger anketler
%> <%'------------------------------------------------'%>

Mesaj Murathan tarafından 30.11.2002 (05:45) yeniden düzenlendi.
Murathan şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 30.11.2002   #2 (permalink)
 
soul's Avatar
 
Üyelik Tarihi: 13.07.2000
Yer: LND
Mesaj: 4,281
Senin kodlarına hiç bakmadım sorunfarklı olabilir ancak benim yaptığım uygulamdan o kısmı gönderiyorum;

yuzde = CInt((100/toplamcevap)*aktifcevap)
__________________
FERRUH.MAVİTUNA - İnanmıyorum, yeni site!
soul şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

total , uygulamasinda , anket , asp


 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online oyun photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.4 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 10:24.