Arkadaşlar anket scriptlerinde işin mantığı nedir. Tamam bi tablonun öğelerinin her seçimde +1 artıtırıyoruz ama sonuçları nasıl yapıyoruz yüzde olarak veya 5 üzerinden olarak onu anlayamadım
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.
dostum çok basit olarak şöylr çözdüm her oy ilgili alanını genel bir toplam alanı 1 arttırıyor sonuç olarak yüzdeleri hesaplayabiliyorsun ve görüntü eklemek istersende mesela 10 p*100 px bir çubuk yap ve o çubuğu ilgili alanı gösterirken width bölümüne yüzdesini yazdır o alanın çok pratik olay bu şekilde ama yüzde hesaplamak için de
$yuzde=$alan*100/$toplam_alan
gibi bir fonksiyon yazabilirsin doğru orantı yani biraz beklersen şimdi yaptığım bir sitede sıfırdan yazdım beğenirsen kodları veririm....
COK basit anket konularını bir tabloya atıcaksın secekleri bi tabloya bu anketin konusunun bulundugu tablodaki id ile secenekleri baglıcaksın göstereceksin..... seceneklerin yanındaki alanada oy degeri gireceksin toplam yapan sql fonsiyonun kulanabilirsin... hmmmm oylarıda konunun idsine göre kaydedeceksin yani konunun id si secenekeler tablosunda hangi_anket adlı bolum olucak benim yazdıgım ankette böle boylece sınırsız secenek ekleyebilirsinn...... --------------------- Biraz yavan oldu ama özetle iki tablo 1konu -/ 3 tane alan konumetni - id/ 2 secenler-/3 tane alan secenek - hangi anket -oy -/
Yukardaki gibi bir mysql tablosu oluşturursun. Her anket için ayrı bir anket değeri yaparsın. Sonra o ankete ait olan seçenekleri de ayrıca eklersin ve hangi ankete aitse onu tabloda belirtirsin. Sonra ziyaretçiler bir seçeneği seçtiklerinde veritabanında cevap şeklinde bir girdi olur. Bu girdide hangi cevaba ait olduğu belirtilir. Kullanıcının IP adresini ve cevabı verdiği tarihi time() olarak kaydedersin böylece ziyaretçi bir anketi yanıtlayınca veritabanına kaydetmeden önce belirtilen zamanın aşılıp aşılmadığını kontrol ettirirsin. Böylece bir ankete arka arkaya yüzlerce oy veremez. Tabi bu basit anket. Daha da güvenilir kılmak için cookie desteği de konulabilir.
Aslında bunu cevaplamak güç.Yaptığın tabloyu vermen gerekiyor; KODLARDA BOLD YAZAN YERLERE DİKKAT EDELİM;(database_name yeine kendi database'inizin adını yazın.)(Form postlarda sayfanın adını girin.)
Tüm tabloları değişik şık sayılarındaki anketlerle verir;tabloda yapmanız gereken sütun sıralaması; 'id','konu','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','r','s','t','u','v','y','z'
$result=mysql_query("SELECT * FROM ss", $veri_yolu); $row = mysql_fetch_assoc ($result); $sayi=0;foreach ($row as $heading=>$column){if (array ($heading, $allowed_order)){$sayi++;}}$sayi=$sayi-2; $result=mysql_query("SELECT * FROM ss order by id ASC", $veri_yolu);
NOT:Buglı yeleri kırmızı daha kısa yazılabilecek yerleri (benim bilmediğim) yeşil renklendirdim.Oraları düzeltirseniz çok daha sade çalışır;
Biliyorum fazla oldu ama bu da seçmeli olarak istediğiniz anketi görmek için; <? $base=database_name; $veri_yolu = mysql_connect('localhost', 'root'); mysql_select_db("$base" , $veri_yolu); if(isset($konu)) { $result=mysql_query("SELECT * FROM ss", $veri_yolu); $row = mysql_fetch_assoc ($result); $sayi=0;foreach ($row as $heading=>$column){if (array ($heading, $allowed_order)){$sayi++;}}$sayi=$sayi-2;
$result=mysql_query("SELECT * FROM ss where konu='".$konu."' ", $veri_yolu);
DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.
Üye Ol Şimdi DeğilÜye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.