"LIKE - Siz buni yoqtirgansiz"larni sanash.

Bir kuni bir saytga «Facebook»dagi sahifasini yoqtirishlar sonini qo`ymoqchi bo`lib file_get_content dan foydalanib parse funksiya qilgandim, afsuski sayt turgan server PHP versiyasi eskiligi sababdan ishlata olmadim. Shunda men javascript orqali shu jarayonni amalga oshirdim. Bunga misollar va tushuntirishlar internetda juda ko`p lekin sizlarda ham shunday vaziyat bo`lib qolsa yordamim teksin deb qilgan ishimni ko`rsatib o`tmoqchiman…

Birinchi navbatda:

graph.facebook.com/opennet.uz?callback urlga so`rov yuborsak, biz uchun facebook developerlari tayyor grafalar qilib qoyishgan. Grafalarni bir necha turda chop etishgan siz o`zingizga maqulini tanlab foydalanishingiz mumkin. Men esa JSON formatdagisidan foydalanishga qaror qildim, chunki json ko`p tomonlama qulay deb bilaman.

https://graph.facebook.com/opennet.uz?callback so`rov yuborganda "OpenNet" sahifasi haqidagi qisqacha INFO

Demak, bizga tayyor qilib «like»lar soni berilgan faqat uni o`qib olish qolgan. Buning uchun ko`p metodikalardan foydalansa bo`ladi, lekin yuqorida aytib o`tganimdek men JScriptda o`qishga majbur bo`ldim.

1-qadam.

$(document).ready(function(){
// Facebookdan olish qismi: Bu yerda https://graph.facebook.com/opennet.uz?callback urlga so`rov yuboramiz
$.getJSON('https://graph.facebook.com/'+facebook_page+'?callback=?', function(data) { 
    var fb_count = data['likes'].toString();   // fb_count o`zgaruvchiga "likes" asosli o`zgaruvchini qiymatini o`zlashtiramiz
    fb_count = AddCommas(fb_count); //Yoqtirishlar sonini vergulli ko`rinishga o`tkazadigan funksiyaga yuborish
    $('#fb_count').html(fb_count);  // "fb_count" nomli ID ga ma`lumotni html formatda yozish
				                                                    });
			});


2-qadamda biz AddCommas function yaratib olib «like»lar sonini vergulli tartibga o`tkazib olamiz ya`ni xona birliklari singari

//Vergulli tartibga o`tkazish funksiyasi
function AddCommas(number) {
	if (number.length > 3) {
		var mod = number.length % 3;
		var output = (mod > 0 ? (number.substring(0,mod)) : '');
		for (i=0 ; i < Math.floor(number.length / 3); i++) {
			if ((mod == 0) && (i == 0)) {
			        output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
					      	    } 
			else {
			    output+= ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);	
			     }
			}
		return (output);
			                                            } 
	else {
	      return number;
	     }
}

endi esa tayyor bo`lgan ikkita funksiya va o`zlashtirish kodlarini birlashtiramiz, hamda shuni aytrib o`tish lozimki ajax.googleapis.com/ajax/libs/blabla kutubxonasidan foydalanamiz chunki bu kutubxona deb atagan scriptlar to`plamida sizu bizga kerakli standart funksiyalarni deyarli barchasi keltirib o`tilgan, bu haqida developers.google.com havolasi orqali batafsil o`rganishingiz mumkin.

Tayyor bo`lgan kodni mana bu havola orqali ko`rishingiz yoki ushbu havola orqali yuklab olishingiz mumkin.

3 комментария

geniuz
«fb_count» nomli ID ga ma`lumotni html formatda yozish
-> «fb_count» IDli elementga ma`lumotni html formatda yozish.
html shartmas text qilsa xam buladi
1
AlisheR1990
Chunarli...Yuqorida aytdimku bir necha usullari bor ekan deb man faqat ID ligini o`rganib shu qildim.
0
geniuz
man idsiz usulni ayttimmi? :D
0