Создание RSS канала

Разработка своих веб-приложений и страничек

Создание RSS канала

Сообщение On-line » 14 апр 2009, 21:12

Создание RSS канала

Большинство сайтов и блогов включают формат 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
Аватара пользователя
On-line
Активный участник
 
Сообщения: 1083
Зарегистрирован: 31 окт 2008, 23:54
Домен: http://vbalashove.ru

Re: Создание RSS канала

Сообщение Кадет » 18 апр 2009, 14:23

Для примера, нужные нам новости находятся в базе данных MySQL, в таблице с именем “news”. В которой есть следующие колонки:

id - номер новости
title - название новости
text – сам текст новости
author - автор новости
date – и дата публикации

Подробнее пожайлуста как это сделать
Кадет
Активный участник
 
Сообщения: 1497
Зарегистрирован: 23 апр 2008, 21:08

Re: Создание RSS канала

Сообщение On-line » 18 апр 2009, 15:22

Ну если ты с форума выдераешь тему в разделе новости, то меняй в скрипте text на то что использует твой форум и т.д...
Аватара пользователя
On-line
Активный участник
 
Сообщения: 1083
Зарегистрирован: 31 окт 2008, 23:54
Домен: http://vbalashove.ru

Re: Создание RSS канала

Сообщение Кадет » 18 апр 2009, 16:25

On-line писал(а):Ну если ты с форума выдераешь тему в разделе новости, то меняй в скрипте text на то что использует твой форум и т.д...

Нет не с форума, с обычного хтмл сайта.
Вообще надо бы без БД обойтись, если можно.
Кадет
Активный участник
 
Сообщения: 1497
Зарегистрирован: 23 апр 2008, 21:08

Re: Создание RSS канала

Сообщение Костик » 19 апр 2009, 21:13

без БД это жесть.

База данных нужна по любому
FreeBSD 9.2 and Fedora 18 user
Аватара пользователя
Костик
Активный участник
 
Сообщения: 1944
Зарегистрирован: 03 сен 2007, 02:15

Re: Создание RSS канала

Сообщение Кадет » 20 апр 2009, 16:38

Костик писал(а):без БД это жесть.

База данных нужна по любому

Уже сам нашёл всё, обоснуй чтоб без БД никак.
Кадет
Активный участник
 
Сообщения: 1497
Зарегистрирован: 23 апр 2008, 21:08

Re: Создание RSS канала

Сообщение Костик » 20 апр 2009, 16:58

когда будешь юзать узнаешь какой это геморой использовать файлы текстовые вместо бд :)
FreeBSD 9.2 and Fedora 18 user
Аватара пользователя
Костик
Активный участник
 
Сообщения: 1944
Зарегистрирован: 03 сен 2007, 02:15

Re: Создание RSS канала

Сообщение Кадет » 20 апр 2009, 18:26

Костик писал(а):когда будешь юзать узнаешь какой это геморой использовать файлы текстовые вместо бд :)

там вполне всё просто и элементарно, только никто не смог подсказать...
Кадет
Активный участник
 
Сообщения: 1497
Зарегистрирован: 23 апр 2008, 21:08

Re: Создание RSS канала

Сообщение On-line » 21 апр 2009, 15:05

Кадет писал(а):там вполне всё просто и элементарно, только никто не смог подсказать...

Ну тогда расскажи как без БД все это сделать.
Аватара пользователя
On-line
Активный участник
 
Сообщения: 1083
Зарегистрирован: 31 окт 2008, 23:54
Домен: http://vbalashove.ru

Re: Создание RSS канала

Сообщение Кадет » 21 апр 2009, 18:25

On-line писал(а):
Кадет писал(а):там вполне всё просто и элементарно, только никто не смог подсказать...

Ну тогда расскажи как без БД все это сделать.

Вообще я изначально спрашивал =) ну да ладно пожже напишу!
Кадет
Активный участник
 
Сообщения: 1497
Зарегистрирован: 23 апр 2008, 21:08

След.

Вернуться в PHP, HTML, CSS...

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9