سلام به همگی همونطور که در پست قبلی گفتیم تکنولوژی AJAX این امکان رو به ما میده تا بتونیم بدون refresh صفحه قسمتی از اون رو تغییر بدیم ما با ادغام زبان PHP و AJAX یک RSS reader برای شما آماده کردیم که میتونه خیلی بدرد بخور باشه :smilingsmiley:

ما دو فایل با نام index.php و getrss.php میسازیم و کد های مورد نیاز رو توی اونها کپی میکنیم.

محتویات index.php:

<html>
<head>
<script>
function showRSS(str)
{
document.getElementById("rssOutput").innerHTML="لطفا صبر کنید...";
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 (xmlhttp.readyState==4)
    {
    document.getElementById("rssOutput").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getrss.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body dir="rtl">

<form>
<select onChange="showRSS(this.value)">
<option value="">یک گزینه را انتخاب کنید</option>
<option value="Softafzar">سافت افزار</option>
<option value="Google">Google News</option>
</select>
</form>
<br>
<div style="overflow:scroll;font-family:Tahoma" id="rssOutput">نتیجه اینجا نمایش داده میشود</div>
</body>
</html>

محتویات 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=="Softafzar")
  {
  $xml=("http://www.javab.softafzar.net/?qa=feed/qa.rss");
  }

$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<=20; $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>");
  }
?>

برای اجرا باید index.php رو اجرا کنید. *زبان PHP یک زبان سمت سرور است برای اجرا فایل های PHP و زبان های سمت سرور باید یک وب سرور در کامپیوترتان نصب کنید. آموزش تصویری نصب XAMPP


[color=#00FF00]Update[/color] نسخه پیشرفته تر با امکان تعداد نمایش و فیلترگذاری پیوست شد میتونید دانلود کنید موفق باشید.