Добрый вечер пользователи сайта red-star.pro. В сегодняшнем уроке мы будем создавать свой RSS-канал с помощью PHP и MySQL.
Для начала рассмотрим, что такое RSS и зачем он нужен.
Простой пример RSS-канала:
Название канала Сайт</link>Описание Язык - <title>название</title> ссылка на новость</link>
текст email автора ссылка на новость
Ладно, хватит теории, переходим к практике.
Для данного урока нам понадобится MySQL база данных с одной заполненной таблицей.
Итак, начнем.
Шаг 1. Создаем документ
Первым шагом нам нужно создать документ с расширением .php. Я назвал созданный файл rss.php. Данный файл должен быть пустым, не должно быть ни одной строчки кода.
Шаг 2. База данных
В этом шаге нам нужно соединение с базой данных, в которой находится таблица с новостями. Если нет таблицы в БД, то создайте ее. Я вынес соединение в отдельный файл и здесь просто его подключил:
<?php require_once("config.php"); header("Content-Type: text/xml"); echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"; ?>
Также мы здесь указываем, что тип файла xml и указываем кодировку.
Шаг 3. Выводим данные из базы
Теперь после подключения к базе пишем код дальше. А дальше мы начинаем писать стандартную конструкцию RSS-канала. Вернее ее первую часть
<rss version="2.0"> <channel> <title>Название канала</title> <link>Сайт</link> <description>Описание</description> <language>Язык</language>
Теперь берем вторую часть конструкции и вставляем ее в наш код. Но, не просто вставляем, а делаем запрос к БД и вытаскиваем из нее нужные нам строки. А строки, которые нам нужны: id, title, description и date. Выводим все это в цикле do/while.
<?php $rss = mysql_query("SELECT *, DATE_FORMAT(date, '%e %M %Y') as date FROM news ORDER BY id DESC LIMIT 10"); $rssfeed = mysql_fetch_array($rss); do{ echo "<item>"; echo "<title>".$rssfeed["title"]."</title>"; echo "<link>browse_news.php?id=".$rssfeed["id"]."</link>"; echo "<description><![CDATA[".$rssfeed["description"]."<cdata>]]></description>"; echo "<pubDate>".$rssfeed["date"]."</pubDate>"; echo "</item>"; } while ($rssfeed = mysql_fetch_array($rss)); ?>
И в самом конце кода закрываем теги канала.
</channel> </rss>
На этом код RSS-канала закончен. Теперь нам осталось только подключить данный файл к нашей странице. А подключается это очень просто. Между тегами <head></head> пишем такой код:
В коде запроса LIMIT 10 — означает, что новостей будет выведено 10, но вы можете поставить слово число.
Чтобы код был более понятен — я выложу исходники файла rss-канала.
Скачать исходники: здесь
На этом данный урок окончен. Спасибо за внимание.
Автор урока: редакция REDSTAR
Урок для Вас подготовлен командой сайта red-star.pro.