Извеждане на резултат от база данни в RSS канал!

Styl3rbg

Registered
Урока е в няколко файла включително и SQL!

Започваме със създаването на файлове

1. config.php

Код:
<?php 
// Връзка към База Данни!
$user = "db_user";//дб потребител 
$pass = "db_pass";//дб парола 
$db = "date_base";//дб 
$host = "localhost";//хост  (в повечето случай е localhost!)
$connection = mysql_connect($host, $user, $pass) or die("Сайтът не може да се свърже към базата данни1");//свързваме се към базата данни 
$db = mysql_select_db($db,$connection)or die("Сайтът не може да се свърже към базата данни2"); 
// Детайли
$domain = "Вашият домейн!"; // Домейна на вашият сайт!
$title = "Заглавие на RSS канала!"; // Заглавие на RSS Канала!
?>

2. rss.php

Код:
<?php 
include('config.php'); // Добавяме връзката с база данни
$rs=mysql_query('SELECT * FROM news'); // Избираме таблицата от която да взимаме информация в случая е "news"
$rss="
<?xml version='1.0' encoding='windows-1251' ?>
<rss version='2.0'>
<channel>
<title>$title</title>
<link>http://$domain/</link>
<pubDate>date(DATE_RFC2822)</pubDate>";
while($row=mysql_fetch_assoc($rs))
{
$rss.="<item>
<title>$row['title']</title>
<link>http://$domain/view.php?module=news?id=$row[id]</link>
<description><![CDATA[$row['content']]]></description>
<pubDate>date(DATE_RFC2822,$row['date'])</pubDate>
</item>";
}
$rss.='</channel></rss>';
header("Content-Type: text/xml; charset=windows-1251");
echo $rss;
?>

<pubDate> </pubDate> Не се променя!
Минаваме на кода след while
<title> $row['title']</title> - Заглавието на новината в случая е полето "title" ,но може да го направите по ваш избор например "zaglavie" и др.
<link>http://$domain/view.php?module=news?id=$row['id'] </link> - Тук въвеждаме пътя до извеждане на цялата новина в сайта само не променяйте $domain това се променя от config.php
<description><![CDATA[$row['content']]]></description> - Тук променяте само където пише 'content' пример: novina
<pubDate>date(DATE_RFC2822,$row['date'])</pubDate> - Тук извеждаме датата на новината ако я има в база данни , ако не изтрийте този ред! Също и от кода над while
Ако желате да не извежда новините през
rss.php ,а Примерно site.com/rss/news/
Трябва да направите един .htaccess файл!

3. .htaccess
Код:
RewriteEngine On
RewriteRule ^rss/news rss.php

4. SQL:
Ето моят sql за новини които съм използвам като пример

Код:
CREATE TABLE IF NOT EXISTS `news` (
  `id` int(255) NOT NULL auto_increment,
  `title` varchar(255) collate utf8_unicode_ci NOT NULL,
  `content` text collate utf8_unicode_ci NOT NULL,
  `date` varchar(255) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=1 ;

Това е всичко е тествано лично от мен!

Забранявам копиране на урока в каквито и да е други сайтове,форуми за IT и др. ,без мое разрешение!!!
 
офф топик/
интересно ми е как ще разбереш ,че съм го копирал след като това е простичък код и дори и да копи и пейст как ще ми докажеш ,че е твой?

:shock:
 

Back
Горе