PHP এবং AJAX RSS রিডার
- Previous Page AJAX Live Search
- Next Page AJAX Poll
RSS রিডার একটি RSS Feed পড়ার জন্য ব্যবহৃত হয়。
RSS নিউজ এবং অপডেটকে দ্রুত দেখার জন্য ব্যবহৃত হয়。
AJAX RSS রিডার
নিচের AJAX উদাহরণে, আমরা একটি RSS রিডার প্রদর্শন করব, যার মাধ্যমে RSS থেকে অনুপ্রবেশকে ফ্রিকোয়েন্সি না করেই ওয়েবসাইটে লোড করা হবে。
নিচের লিস্টবক্স থেকে একটি RSS সংবাদ সাবস্ক্রিপশন নির্বাচন করুন
এই উদাহরণটিতে তিনটি উপাদান রয়েছে:
- সহজ HTML ফর্ম
- JavaScript
- PHP পৃষ্ঠা
HTML ফর্ম
এটি একটি HTML পাতা। এটি একটি সহজ HTML ফর্ম এবং একটি JavaScript ফাইলের লিঙ্ক ধারণ করে:
<html> <head> <script type="text/javascript" src="getrss.js"></script> </head> <body> <form> Select an RSS-Feed: <select onchange="showRSS(this.value)"> <option value="Google">Google News</option> <option value="MSNBC">MSNBC News</option> </select> </form> <p><div id="rssOutput"> <b>RSS Feed will be listed here.</b></div></p> </body> </html>
উদাহরণ ব্যাখ্যা - HTML ফর্ম
যেমন আপনি দেখতে পাচ্ছেন, উপরের HTML পাতায় একটি সাধারণ HTML ফর্ম আছে, যাতে একটি ড্রপডাউন লিস্ট আছে。
ফর্মটি এইভাবে কাজ করে:
- যখন ব্যবহারকারী ড্রপডাউন ফর্মটিতে বেলোন বেছে নেয়
- যখন ইভেন্ট ট্রিগার হয়, showRSS() ফাংশন চালু হয়
ফর্মের নিচে "rssOutput" নামের একটি <div> আছে। এটি showRSS() ফাংশন দ্বারা ফেরত দেওয়া ডাটার প্রদর্শনের জন্য ব্যবহৃত হয়。
JavaScript
JavaScript 代码 স্টোরেজ করা হয়েছে "getrss.js"-তে, যা HTML ডকুমেন্টের সাথে জুড়ায়:
var xmlHttp function showRSS(str) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var url="getrss.php" url=url+"?q="+str url=url+"&sid="+Math.random() xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("rssOutput") .innerHTML=xmlHttp.responseText } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
Example Explanation:
stateChanged() এবং GetXmlHttpObject ফাংশন সহ PHP এবং AJAX প্রতিজ্ঞা এই ধরণের উদাহরণটি একই।
showRSS() ফাংশন
যখন ড্রপডাউন ফিল্টার থেকে কোনও বেলা চিহ্নিত হয়, তখন এই ফাংশনটি চালানো হয়:
- সার্ভারের পক্ষ থেকে পাঠানো হতে যাওয়া url-কে (নাম) নির্ধারণ করুন
- পারামিটার (q) যোগ করা হয় url-তে, পারামিটারের মান ড্রপডাউন ফিল্টারের চিহ্নিত বেলা
- র্যান্ডম সংখ্যা যোগ করে, সার্ভারের ক্যাশে ফাইলটি রক্ষা করতে
- GetXmlHttpObject ফাংশনটি আহ্বান করে XMLHTTP অবজেক্ট তৈরি করে, এবং তা কোনও পরিবর্তন ঘটলে stateChanged ফাংশনকে চালাবে
- দেওয়া URL-এর মাধ্যমে XMLHTTP-এর উদ্বোধন
- HTTP রিকোর্ড সার্ভারের পক্ষ থেকে আহ্বান করুন
PHP পৃষ্ঠা
সার্ভারের পক্ষ থেকে JavaScript কোডটি আহ্বান করা হয় যা "getrss.php" নামক PHP ফাইল:
<?php //get the q parameter from URL $q=$_GET["q"]; //find out which feed was selected if($q=="Google") { $xml=("http://news.google.com/news?ned=us&topic=h&output=rss"); } elseif($q=="MSNBC") { $xml=("http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml"); } $xmlDoc = new DOMDocument(); $xmlDoc->load($xml); //get elements from "<channel>" $channel=$xmlDoc->getElementsByTagName('channel')->item(0); $channel_title = $channel->getElementsByTagName('title') ->item(0)->childNodes->item(0)->nodeValue; $channel_link = $channel->getElementsByTagName('link') ->item(0)->childNodes->item(0)->nodeValue; $channel_desc = $channel->getElementsByTagName('description') ->item(0)->childNodes->item(0)->nodeValue; //output elements from "<channel>" echo("<p><a href='" . $channel_link . "'>" . $channel_title . "</a>"); echo("<br />"); echo($channel_desc . "</p>"); //get and output "<item>" elements $x=$xmlDoc->getElementsByTagName('item'); for ($i=0; $i<=2; $i++) { $item_title=$x->item($i)->getElementsByTagName('title') ->item(0)->childNodes->item(0)->nodeValue; $item_link=$x->item($i)->getElementsByTagName('link') ->item(0)->childNodes->item(0)->nodeValue; $item_desc=$x->item($i)->getElementsByTagName('description') ->item(0)->childNodes->item(0)->nodeValue; echo ("<p><a href='" . $item_link . "'>" . $item_title . "</a>"); echo ("<br />"); echo ($item_desc . "</p>"); } ?>
Example Explanation:
When an option is sent from JavaScript, the following occurs:
- PHP Determine which RSS feed is selected
- Create an XML DOM object for the selected RSS feed
- Find and output elements from the RSS channel
- Traverse elements in the first three RSS items and output them
- Previous Page AJAX Live Search
- Next Page AJAX Poll