X
تبلیغات
رایتل
پشم سنگ عایق الاستومری
جمعه 7 فروردین‌ماه سال 1388
توسط: آلفا پک

ساخت یک نمایش دهنده rss آجاکس پی اچ پی

rss ابزاری است که به شما کمک می کنه که خیلی سریع اخبار را مرور کنید و همیشه به روز باشید. 
.................................... 
در مثال زیر که بوسیله زبان آجاکس می باشد به شما روش نمایش محتویات Rss را در سایت یا وبلاگ شما آموزش می دهد البته وقتی rss در صفحه شما لود شد دیگر رفرش نمی شود. 
................................... 


The HTML Form
This is the HTML page. It contains a simple HTML form and a link to a 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>   

Example Explained - The HTML Form
As you can see, the HTML page above contains a simple HTML form with a drop-down box.

The form works like this:

An event is triggered when the user selects an option in the drop down box
When the event is triggered, a function called showRSS() is executed.
Below the form is a <div> called "rssOutput". This is used as a placeholder for the return data of the showRSS() function.

--------------------------------------------------------------------------------

The JavaScript
The JavaScript code is stored in "getrss.js" and linked to the HTML document:  

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 Explained
The stateChanged() and GetXmlHttpObject functions are the same as in the PHP AJAX Suggest chapter.

The showRSS() Function

Every time an option is selected in the input field this function executes the following:

Defines the url (filename) to send to the server
Adds a parameter (q) to the url with the selected option from the drop down box
Adds a random number to prevent the server from using a cached file
Calls on the GetXmlHttpObject function to create an XMLHTTP object, and tells the object to execute a function called stateChanged when a change is triggered
Opens the XMLHTTP object with the given url.
Sends an HTTP request to the server

--------------------------------------------------------------------------------

The PHP Page
The server page called by the JavaScript code 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=="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 Explained - The PHP Page
When an option is sent from the JavaScript the following happens:

PHP finds out which RSS feed was selected
An XML DOM object is created for the selected RSS feed
The elements from the RSS channel are found and outputted
The three first elements from the RSS items are looped through and outputted  

 http://www.w3schools.com/php/php_ajax_poll.asp :منبع  

×البته در این سایت سورس بیشتر نرم افزار ها وجود داره حتما به این سایت سر بزنید×