Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Php Sitelerinize Ajax Yıldızlı Oylama Scripti Ekleyin

Ozcan

0
Onaylı Üye
Üye
Katılım
12 Mayıs 2007
Mesajlar
3,749
Tepki puanı
61
Konum
Antalya
Benim yaptığım burada http://tinyurl.com/lj447e en altta.

http://www.ajaxdaddy.com/demo-multi-ajax-star-rating-bars.html bu adreste örneği var. İngilizcede anlatılmış ama ben ingilizceden anlamadığım için Türkçe anlatıcam.

Ekteki dosyayı indirin ve klasöre çıkartın.

Sitemizin ana dizinindeki bir dosyaya uyguladığımızı var sayıyorum. Mesela resim.php dosyamıza yada haber.php yada makale.php yada urun.php vs. vs.

Yani sitemdeki resimleri makaleleri haberleri yada ürünleri oylatacağım.

İlk olarak çıkarttığımız dosyanın içindeki ajaxstarrater_v122 klasörünün içerisindeki tüm dosyaları ana dizine atıyoruz.

Ben resim sitesi için yaptım onu anlatayım. resimlerimiz veri tabanında kayıtlı hepsinin bir id si var bize bir tek bu id lazım.

İlk önce veri tabanımızı açıp şu kodu çalıştırıyoruz.

Kod:
CREATE TABLE `ratings` (
  `id` varchar(11) NOT lisanssız,
  `total_votes` int(11) NOT lisanssız default 0,
  `total_value` int(11) NOT lisanssız default 0,
  `used_ips` longtext,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3;

TABLONUN İÇİNE HER HANGİ BİR KAYIT GİRMİYORUZ. EN ALTTAKİ KODU SİTEYE EKLEDİĞİNİZDE OYLAMA SİSTEMİNİN GÖRÜNME KODUNU SİSTEM OTOMATİK VERİ TABANINA OYLANACAK ŞEYİN İD Sİ İLE YENİ BİR KAYIT OLUŞTURUYOR. YANİ BİZ ASLA KAYIT GİRMİYORUZ ELLE YADA KODLA.

into _config-rating.php DOSYASINDA VERİ TABANI AYARLARI YAPILIYOR.

Kod:
	$dbhost        = 'localhost';
	$dbuser        = '###';
	$dbpass        = '###';
	$dbname        = '###';
	$tableName     = 'ratings';
	$rating_unitwidth     = 30;

doğru bir şekilde yazıyoruz.

resimlere nerede oy kullandırmak istiyorsak ben resim.php de yaptım resim.php dosyasında sadece bir resimn açıklamaları yazıyor. resim.php nin en üstüne
PHP:
<?php require('_drawrating.php'); ?>
yazıyoruz.

Sonra head etiketlerinin arasına

HTML:
<script type="text/javascript" language="javascript" src="js/behavior.js"></script>
<script type="text/javascript" language="javascript" src="js/rating.js"></script>
<link rel="stylesheet" type="text/css" href="css/rating.css" />

Bu üçlü grubu yapıştırıyoruz.

En sonda oylama sisteminin nerede çıkmasını istiyorsanız oraya bu kodu yapıştırın yeter.

PHP:
<?php echo rating_bar('8'); ?>

Yapmanız gerek tek şey 8 yazan rakamın yerine o sayfada gösterdiğimiz resimin id nosunu girmek.

PHP:
<?php echo rating_bar('$resim[id]'); ?>
gibi yada
PHP:
<?php echo rating_bar('$id'); ?>
artık id yi nasıl aldırıyorsanız o şekilde yazın. Bazı serverlarda '(tırnak) lı çalışmaya bilir eğer çalışmazsa '(tırnak) ları kaldırın yeter. Yada elle girin :) çalıştığını görün sonra id yi istediğiniz gibi aldırın.

Bunlarda diğer kombinasyonları

<?php echo rating_bar('8'); ?> - 10 yıldız id li şey
<?php echo rating_bar('8xxa','5'); ?> - 5 yıldız, ID of 8xxa
<?php echo rating_bar('9a','5','static'); ?> - 5 yıldız, ID of 9a, static (non votable)
<?php echo rating_bar('9b',''); ?> - 10 yıldız, ID of 9b
<?php echo rating_bar('9c','8','static'); ?> - 8 yıldız, ID of 9c, static (non votable)

Java ve php dosyalardan Türkçeleştire bilirsiniz.

PHP Dosyaları:
_config-rating.php
_drawrating.php
db.php
rpc.php

CSS Dosyası:
rating.css

Javascript Dosyaları:
behaviour.js
rating.js

Resim Dosyaları:
starrating.gif
working.gif

Konu dışı : tırnak yazdıkça içim ürperiyo.
 

Voyvoda

0
Onaylı Üye
Üye
Katılım
1 Nisan 2008
Mesajlar
77
Tepki puanı
0
Merhaba Özcan
Paylaşımın için çok teşekkürler fakat anlamadığım <?php require('_drawrating.php'); ?> kodunu resim.php sayfasının en üstüne yazıyoruz demişsin bunu biraz daha açarmısın en üst neresi?Teşekkürler
 

Ozcan

0
Onaylı Üye
Üye
Katılım
12 Mayıs 2007
Mesajlar
3,749
Tepki puanı
61
Konum
Antalya
Oylama sisteminin hangi sayfada gözükmesini istiyorsan o sayfanın en üstüne koyacaksın.
 

Voyvoda

0
Onaylı Üye
Üye
Katılım
1 Nisan 2008
Mesajlar
77
Tepki puanı
0
Özcan son soru sayfaya yerleştirdim sayfada çıkıyor fakat yıdız resimleri yok neden olabilir acaba?
 

Ozcan

0
Onaylı Üye
Üye
Katılım
12 Mayıs 2007
Mesajlar
3,749
Tepki puanı
61
Konum
Antalya
resimler images klasörünün içerisinde olunca gözükür.
 

NeFuSa

0
Onaylı Üye
Üye
Katılım
27 Aralık 2006
Mesajlar
1,414
Tepki puanı
15
Konum
İstanbul
Güzelmiş, teşekkürler. PNG resimler bulup değiştircem ben, her tasarıma adapte olsun. :)
 

habana

0
Onaylı Üye
Üye
Katılım
28 Ocak 2008
Mesajlar
94
Tepki puanı
1
neyi neyle çarpıyorki sonucu çıkartıyor. yani oylama mantığı nedir ?
 

hellosalem

0
Onaylı Üye
Üye
Katılım
15 Nisan 2012
Mesajlar
2
Tepki puanı
0
Paylaşım çok güzel yalnız şöyle bir sorunla karşı karşıyayım. Eğer <?php require('_drawrating.php'); ?> kodunu başka bir klasördeki değişken içerikli bir klasöre koyarsak yani joomla gibi sistemleri kastediyorum. Yani rpc.php ile aynı klasörde yer almayınca index.php dosyası rpc yi bulamam sorunu yaşıyor ve bağlantı kuramıyor. Onu nasıl aşabiliriz.


EKLEDİ: Arkadaşlar sorunumun çözümünü buldum. Belki lazım olacak kişiler olur diye ekleyeyim dedim.

İlgili dosya rpc.php yi bulamıyor. rating.js adlı dosyanın içinde

xmlhttp.open('get', 'Dosya Yolu/rpc.php?j='+vote+'&q='+id_num+'&t='+ip_num+'&c='+units);
xmlhttp.onreadystatechange = handleResponse;
xmlhttp.send(lisanssız);

bu kodlarda renkli yerlere domanini ve yolu eklemeyi unutmayın.
 

hsnsdt

0
Üye
Katılım
24 Şubat 2010
Mesajlar
34
Tepki puanı
0
Verdiğiniz linkten indirmeye çalıştım fakat artık bu konu ile ilgili destek vermiyırlamış doyalar yok.
 

ahmetturanozturk

0
Onaylı Üye
Üye
Katılım
26 Eylül 2013
Mesajlar
218
Tepki puanı
0
Konum
Sivas
Güzel anlatım hocam. Bu işlem için bu kadar dosya kullanıdığını düşünmemiştim hiç :)
 
Üst