PDA

View Full Version : سوال: مشکل در ساخت Rss برای سایت



e601
شنبه 30 اردیبهشت 1391, 11:16 صبح
سلام
من با استفاده از کد زیر یه RSS برای خروجی سایتم درست کردم و این کد را به نام فایل index.php در یه ساب فولدر rss قرار دادم. این کد تقریبا درست کار میکنه ولی 2 تا اشکال داره :

اول اینکه عنوان لینکها بصورت علامت سوال ؟؟؟؟؟؟؟ در میاد !

و دوم اینکه با هر بار رفرش صفحه همون لینکها دوباره تکرار میشن. یعنی اگه 10 تا لینک خروجی وجود داشته ، با هر بار رفرش کردن یا اینتر زدن در آدرس بار ، هر لینک دوباره تکرار میشه و 20 تا لینک که جفت جفت شبیه هم هستن در خروجی لیست میشه ! حالا اگه همین کار رو 5 بار تکرار کنیم 50 تا لینک که 5 تا 5 تا مثل هم هستن لیست میشه !

کدی هم که استفاده میکنم به این صورته :



<?php

header("Content-Type: application/xml; charset=utf-8");

$rss = '<?xml version="1.0" encoding="utf-8"?>';
$rss .= '<rss version="2.0">';
$rss .= '<channel>';
$rss .= '<title>MySite feed</title>';
$rss .= '<link>http://www.MySite.com</link>';
$rss .= '<description>This is an example RSS feed</description>';
$rss .= '<copyright>Copyright (C) 2012 MySite.com</copyright>';

$server=mysql_connect ('localhost', 'user', 'psw');
mysql_select_db('user_db', $server);

$query = "SELECT id, title, FROM news";
$results = mysql_query ($query, $server);

while ($row = mysql_fetch_array($results)){

$rss .= "<item>\r\n";
$rss .= "<title>" . $row['title'] . "</title>\r\n";
$rss .= "<link>http://www.MySite.com/news/" . $row['id'] . "</link>\r\n";
$rss .= "</item>\r\n\r\n";

}

$rss .= "</channel>\r\n";
$rss .= "</rss>\r\n";

echo $rss;

?>

ممنون میشم راهنماییم کنید...

djsaeedkhan
شنبه 30 اردیبهشت 1391, 11:42 صبح
سلام
شما باید نمونه ها رو ببینید و تفاوتشون رو با کد خودتون پیدا کنید.
http://barnamenevis.org/showthread.php?323161

e601
شنبه 30 اردیبهشت 1391, 13:37 عصر
سلام
شما باید نمونه ها رو ببینید و تفاوتشون رو با کد خودتون پیدا کنید.
http://barnamenevis.org/showthread.php?323161

ممنون از شما. من صفحه ای که اشاره کردید رو دیدم و اگه درست متوجه شده باشم باید کد زیر رو برای ساخت فایل xml اصلی به انتهای کد خودم اضافه کنم. درسته؟


$filename = 'RSS.xml';
$xml_output=$myfeed->output();

if (is_writable($filename)) {
if (!$handle = fopen($filename, 'w')) { // a=append w=write
echo "Cannot open ($filename)";
exit;
}
if (fwrite($handle, $xml_output) === FALSE) {
echo "Cannot write to ($filename)";
exit;
}
echo "Success, wrote (RSS to ($filename)";
fclose($handle);
} else {
echo "The file $filename is not writable";
} ?>

این کد رو به همین صورت در انتهای کد php قرار دادم ولی خطا میده...

مشکل از کجاست؟

djsaeedkhan
شنبه 30 اردیبهشت 1391, 13:47 عصر
شما می تونید سورستون رو اینجا (بصورت ضمیمه )بذارید که بشه دید مشکل از کجاست
شاید در سیستم شما مشکل داره
تو هاست های رایگان تست کنید.