Большинство сайтов и блогов включают формат RSS в свои страницы, это удобно, модно и вообще облегчает жизнь. Создание RSS канала это не так сложно, как кажеться на первый взгляд!
RSS – есть несколько вариантов расшифровки:
1. "Really Simple Syndication"
2. "RDF Site Summary"
3. "Rich Site Summary"
4. "Reduced Space Symbology".
Существует множество версий RSS: от 0.90 до 2.0.
Мы же рассмотрим RSS 2.0.
RSS – это данные, которые структурированы определенным удобным и понятным как машине, так и человеку способом, что бы их потом было удобно вытягивать из базы данных и размещать на других сайтах или же просто просматривать в любом программном обеспечении, так как их основа – это язык XML.
Предположим, что нам хочется, чтобы самые свежие новости сайта появились и на других ресурсах. Вот для этого нам и нужно сделать их легкодоступными, то есть вывести их и базы данных (возьмем MySQL) перевести их в формат RSS. Понятно, что переводятся только самые свежие из них, предположим 10.
Для примера, нужные нам новости находятся в базе данных MySQL, в таблице с именем “news”. В которой есть следующие колонки:
id - номер новости
title - название новости
text – сам текст новости
author - автор новости
date – и дата публикации
Напишем несложный php код, который будет переводит десять последних новостей в нужный нам формат RSS.
- Код: Выделить всё • Развернуть
<?php
// указываем, что файл будет в XML формате
header('Content-type: application/xml');
/* Затем впишем информацию
кто мы, адрес самого ресурса, e-mail адрес сайта и тому подобное */
$data="<?xml version=\"1.0\" encoding=\"windows-1251\" ?> ";
$data.= "<rss version=\"2.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">";
$data.= "<channel>";
$data.= "<title>Название нашего сайта</title>";
$data.= "<link>Адрес сайта</link>";
$data.= "<description>Информация о сайте</description>";
$data.= "<copyright>Кому принадлежит авторство статей</copyright>";
$data.= "<language>ru</language>";
$data.= "<managingEditor>e-mail редактора</managingEditor>";
$data.= "<webMaster>e-mail хозяина сайта</webMaster>";
/* Подключимся к нашей базе данных имя пользователя базы, пароль, название самой базы */
$link = mysql_connect ("localhost", "username", "password") or die("Невозможно соединиться!");
mysql_select_db("db_name", $link);
// Создаем запрос к базе на выдачу нужным нам новостей
$query="SELECT * FROM news ORDER BY id DESC";
$result = mysql_query($query, $link);
//пройдемся по двадцати последним вытаскивая, то что нам нужно
for ($i=1; $i<10; $i++)
{
// Вытягиваем нужные нам колонки
$row = mysql_fetch_array($result);
$date = $row['date'];
$title = $row['title'];
$text = $row['text'];
$author = $row['text'];
// Добавляем нужную нам информацию в такую структуру:
$data.="<item>";
$data.="<title>".$title."</title>";
$data.="<link>адрес сайта </link>";
$data.="<description>".$text."</description>";
$data.="<dc:creator>Администрация сайта </dc:creator>";
$data.="<dc:date>".$date."</dc:date>\n</item>";
}
// И, наконец, закрываем базу
mysql_close($link);
// Добавляем «хвостовую» информацию
$data=$data."</channel></rss>";
// Выводи это всё
print($data);
?>
В итоге мы получили: возможность вывода новостей на другие сайты, возможность подписки пользователей на Ваш RSS канал, удобство...
PS
(с) On-line