PHP Example - AJAX RSS Reader

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP





googletag.cmd.push(function() googletag.display('div-gpt-ad-1422003450156-2'); );



PHP Example - AJAX RSS Reader



❮ Previous
Next ❯


An RSS Reader is used to read RSS Feeds.



AJAX RSS Reader


The following example will demonstrate an RSS reader, where the RSS-feed is loaded into a webpage without reloading:



Select an RSS-feed:
Google News
NBC News


RSS-feed will be listed here...


Example Explained - The HTML Page


When a user selects an RSS-feed in the dropdown list above, a function called "showRSS()" is executed. The
function is triggered by the "onchange" event:





<html>

<head>

<script>

function showRSS(str)


 
if (str.length==0)

 
  document.getElementById("rssOutput").innerHTML="";

    return;

 

 
if (window.XMLHttpRequest)
    // code for IE7+, Firefox, Chrome, Opera, Safari

 
  xmlhttp=new XMLHttpRequest();

  else   // code for IE6, IE5

 
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

 

 
xmlhttp.onreadystatechange=function()

 
  if (this.readyState==4 && this.status==200)

 
    document.getElementById("rssOutput").innerHTML=this.responseText;

   

 

 
xmlhttp.open("GET","getrss.php?q="+str,true);

 
xmlhttp.send();


</script>

</head>

<body>


<form>

<select onchange="showRSS(this.value)">

<option value="">Select an RSS-feed:</option>

<option value="Google">Google News</option>

<option value="NBC">NBC News</option>

</select>

</form>

<br>

<div id="rssOutput">RSS-feed will be listed here...</div>

</body>

</html>




The showRSS() function does the following:


  • Check if an RSS-feed is selected

  • Create an XMLHttpRequest object

  • Create the function to be executed when the server response is ready

  • Send the request off to a file on the server

  • Notice that a parameter (q) is added to the URL (with the content of the dropdown list)







googletag.cmd.push(function() googletag.display('div-gpt-ad-1493883843099-0'); );





The PHP File



The page on the server called by the JavaScript above is a PHP file called "getrss.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=="NBC")

  $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>");


?>



When a request for an RSS feed is sent from the JavaScript, the following
happens:


  • Check which feed was selected

  • Create a new XML DOM object

  • Load the RSS document in the xml variable

  • Extract and output elements from the channel element

  • Extract and output elements from the item elements



❮ Previous
Next ❯

Popular posts from this blog

WWE Night of Champions

Poznań

Kaliningrad