Большое количество блогов и сайтов разной тематики уже достаточно давно имеют в своих страницах поддержку формата RSS, что является модным и удобным вариантом, облегчающим жизнь, как пользователям, так и вебмастерам. Что же мешает создать удобный RSS канал для своего ресурса и нам? Учитывая, что это не настолько сложно, как может показаться на первый взгляд.
Аббревиатура RSS имеет несколько вариантов расшифровки, первый вариант – это «Really Simple Syndication», второй – «RDF Site Summary», третий – «Rich Site Summary».
Чем же является канал RSS?
RSS канал является структурированными специальным понятным и удобным способом данными, как для поисковиков, так и для пользователей, которые было бы удобно вытягивать, а также размещать на других ресурсах или просто просматривать в других программах, которые поддерживают данную технологию, основанную на языке XML.
Допустим, что вы хотите выводить на других ресурсах последние статьи со своего ресурса. Именно для этого нам нужно будет вывести их из нашей базы данных, в данном случае MySQL, и сделать совместимыми с форматом RSS канала.
Понятно, что выводить все статьи сразу нам не нужно, а только последние 5.
Например, необходимые нам статьи размещаются в базе данных в таблице под названием «articles», которая в свою очередь имеет такие колонки:
- 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 канала нет, одни положительные стороны: вывод контента на другие ресурсы, подписка посетителей на Вашу RSS ленту, удобство…
Ваш персональный компьютер всячески тормозит и затрудняет работу? Закажите компьютерное обслуживание на выгодных условиях и забудьте об этой проблеме. Ведь техника должна нести не трудности, а облегчение труда! |