পিএইচপি এসকিউএল ওয়ার্ডপ্রেস জাভাস্ক্রিপ্ট জেকুয়েরি এইচটিএমএল
লগইন
×

পিএইচপি টিউটোরিয়াল

হোম-HOME ইনস্টল-Install গঠনপ্রনালী-Syntax চলক-Variable পিএইচপি Echo / Print তথ্যের ধরণ-Data Types কনস্ট্যান্ট-Constant অপারেটর-Operator ফাংশন-Function সুপারগ্লোভাল-Superglobal

কন্ট্রোল স্টেটমেন্ট

if স্টেটমেন্ট if...Else স্টেটমেন্ট Switch স্টেটমেন্ট While লুপ DO...While লুপ For লুপ

পিএইচপি এ্যারে এবং স্ট্রিং

এ্যারে-Array এ্যারে সর্টিং -Array Sorting মাল্টি এ্যারে-Multi Array স্ট্রিং-String

পিএইচপি এডভান্স

তারিখ এবং সময় পিএইচপি include ফাইল হ্যান্ডলিং-File Handling ফাইল খোলা/পড়া ফাইল তৈরি/লিখা ফাইল আপলোড কুকি-Cookie সেশন-Session ফিল্টার-Filter এডভান্স ফিল্টার-Advance Filter এঁরর হ্যান্ডলিং-Error Handling এক্সেপশন হ্যান্ডেলিং-Exception Handling

পিএইচপি ফরম

ফরম হ্যান্ডলিং ফরম ভ্যালিডেশন আবশ্যক ফরম ফিল্ড ফরম URL/E-mail সম্পূর্ণ ফরম

MySQL ডেটাবেজ

MySQL ডেটাবেজ MySQL ডেটাবেজ সংযোগ MySQL ডেটাবেজ তৈরী MySQL টেবিল তৈরী MySQL তথ্য ইনসার্ট MySQL শেষ আইডি পান MySQL একাধিক তথ্য ইনসার্ট MySQL প্রিপেয়ার্ড স্টেটমেন্ট MySQL তথ্য সিলেক্ট MySQL তথ্য ডিলিট MySQL তথ্য আপডেট MySQL সীমিত তথ্য সিলেক্ট

পিএইচপি- এক্সএমএল

PHP XML Parser PHP SimpleXML Parser PHP XML Parser PHP SimpleXML - Get PHP XML Expat PHP XML Dom

পিএইচপি - এজাক্স

পিএইচপি AJAX পরিচিতি AJAX পিএইচপি AJAX ডেটাবেজ AJAX এক্সএমএল AJAX সারাসরি সার্চ AJAX RSS রির্ডার AJAX Poll

পিএইচপি অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং(OOP)

OOP পরিচিতি OOP class তৈরী OOP objects তৈরী OOP $this কিওয়ার্ড OOP মেথড এবং প্রোপার্টি চেইনিং OOP অ্যাক্সেস মোডিফায়ার OOP ম্যাজিক মেথড এবং কন্সটেন্ট OOP ইনহেরিটেন্স OOP Abstract class এবং method OOP ইন্টারফেস OOP পলিমরফিজম OOP টাইপ হিন্টিং() OOP টাইপ হিন্টিনং ইন্টারফেস OOP স্ট্যাটিক মেথোড এবং প্রোপার্টি

পিএইচপি - রেফারেন্স

Array ফাংশন Calendar ফাংশন date/time ফাংশন Directory ফাংশন Error ফাংশন Filesystem ফাংশন Filter ফাংশন FTP ফাংশন HTTP ফাংশন libxml ফাংশন Mail ফাংশন Math ফাংশন Misc. ফাংশন MySQLi ফাংশন SimpleXML ফাংশন String ফাংশন XML Parser ফাংশন Zip File ফাংশন টাইমজোন Timezones
 

AJAX এবং RSS Feed


RSS ফিড পড়ার জন্য RSS Reader ব্যবহার করা হয়।


AJAX ব্যবহার করে RSS Feed লোড

আমাদের এই উদাহরণে আমরা দেখবো কিভাবে AJAX এর মাধ্যমে একটি ওয়েব পেজকে পুনরায় লোড করা ছাড়াই RSS Feed লোড করা যায়।

এক্ষেত্রেও আমরা পূর্বের ন্যায় কোডসমূহকে তিন ভাগে বিভক্ত করবোঃ এইচটিএমএল কোড, জাভাস্ক্রিপ্ট(AJAX) কোড এবং পিএইচপি কোড। সুতরাং দেরি না করে চলুন কোডিং করা শুরু করি।

উদাহরণ: এইচটিএমএল কোড
<!DOCTYPE html>
<html>
<head>
 <title>  পিএইচপি এবং AJAX ব্যবহার করে RSS Feed লোড </title>
</head>
<body>

<form>
<select onchange="showRSSFeed(this.value)">
<option value="">একটি আরএসএস ফিড সিলেক্ট করুনঃ </option>
<option value="google">গুগল বাংলা সংবাদ</option>
<option value="kalerkantha">কালের কণ্ঠ সংবাদ</option>
</select>
</form>
<br>
<div id="rssResult">আরএসএস(RSS) ফিড(Feed) সমুহ এখানে প্রদর্শিত হবে...</div>

</body>
</html>

উপরের উদাহরণে ইউজার যখন ড্রপডাইন তালিকা থেকে একটি আরএসএস(RSS) ফিড সিলেক্ট করবে, তখন showRSSFeed() ফাংশনটি সম্পাদিত হবে এবং সংবাদ শিরোনাম প্রদর্শিত হবে। onchange ইভেন্ট এর মাধ্যমে এই ফাংশনটি সম্পাদিত হয়।

উদাহরণঃ এইচটিএমএল এর সাথে ব্যবহৃত AJAX কোড
<script>
function showRSSFeed(string) {
  if (string.length==0) {
    document.getElementById("rssResult").innerHTML="";
    return;
  }
  if (window.XMLHttpRequest) {

     request = new XMLHttpRequest();
  } else {
     request = new ActiveXObject("Microsoft.XMLHTTP");
  }
  request.onreadystatechange = function() {
    if (request.readyState == 4 && request.status == 200) {
      document.getElementById("rssResult").innerHTML = request.responseText;

    }
  }
  request.open("GET","rssfeed.php?p=" +string, true);
  request.send();
}
</script>

কোডের ব্যাখ্যাঃ

প্রথমেই আমরা অপশন ভ্যালু সিলেক্ট করা হয়েছে কিনা string.length == 0 এর মাধ্যমে চেক করে নিব। যদি এটি ফাঁকা হয় তাহলে প্রোগ্রামের নিয়ন্ত্রণ showSuggestion() ফাংশন থেকে বের হয়ে যায়।

অপরদিকে যদি যেকোন একটি অপশন ভ্যালু সিলেক্ট করা হয় সেক্ষেত্রে নিম্নের ঘটনা গুলো ঘটবেঃ


পিএইচপি ফাইল

উপরের জাভাস্ক্রিপ্ট কোড এর মাধ্যমে এই পিএইচপি ফাইল(rssfeed.php) এর সাথে যোগাযোগ সৃষ্টি করা হয়।

উদাহরণঃ rssfeed.php ফাইল
<?php
// লিংক থেকে প্যারামিটার ধারন করে
$p = $_GET["p"];

// কোন ফিডটি সিলেক্ট হয়েছে তা খুঁজে বের করে
if($p == "google") {
  $data = ("https://news.google.com/news/rss/?ned=bn_bd&hl=bn");
}
elseif($p == "kalerkantha") {
  $data = ("http://www.kalerkantho.com/rss.xml");
}

$xmlDocument = new DOMDocument();
$xmlDocument->load($data);

// চ্যানেল থেকে এলিমেন্ট ধারন করে
$channel = $xmlDocument->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;

// চ্যানেল থেকে এলিমেন্ট গুলো আউটপুট দেয়
echo("<p><a href='" . $channel_link
  . "'>" . $channel_title . "</a>");
echo("<br>");
echo($channel_desc . "</p>");

// আইটেম এলিমেন্ট গুলো আউটপুট দেয়
$xmlTag = $xmlDocument->getElementsByTagName('item');
for ($i = 0; $i <= 2; $i++) {
  $item_title = $xmlTag->item($i)->getElementsByTagName('title')
  ->item(0)->childNodes->item(0)->nodeValue;
  $item_link = $xmlTag->item($i)->getElementsByTagName('link')
  ->item(0)->childNodes->item(0)->nodeValue;
  $item_description = $xmlTag->item($i)->getElementsByTagName('description')
  ->item(0)->childNodes->item(0)->nodeValue;
  echo ("<p><a href='" . $item_lin
  . "'>" . $item_title . "</a>");
  echo ("<br>");
  echo ($item_description . "</p>");
}
?>

জাভাস্ক্রিপ্ট যখন RSS Feed এর জন্য পিএইচপি ফাইলে অনুরোধ পাঠায় তখন নিম্নোক্ত প্রক্রিয়াসমূহ সম্পন্ন হয়ঃ

আপনি উপরের উদাহরণের এইচটিএমএল এবং জাভাস্ক্রিপ্ট কোড গুলোর সমন্বয়ে একটি ফাইল এবং পিএইচপি কোডগুলোর জন্য একটি ফাইল তৈর করে Ajax সম্বলিত এইচটিএমএল ফাইলটি রান করালে বাউজারে নিম্নের ন্যায় ফলাফল দেখবেন।

AJAX এর মাধ্যমে আরএসএস(RSS) ফিড লোড করার জন্য যেকোন একটি সংবাদ সিলেক্ট করুনঃ


আরএসএস(RSS) ফিডটি এখানে তালিকাভুক্ত হবে...