| |
|
|
| | Здравствуйте!
Посмотрел ссылки по RSS на Вашем форуме. Ничего не понятно. Раньше никогда не создавал. Объясните, пожалуйста, на пальцах, с чего начинать и как их создать.
Какое расширение должен иметь файл?
Создаю такой пример:
<?php
//прежде всего нужно указать в заголовке, что наш файл будет в XML формате.
header('Content-type: application/xml');
//затем впишем вступительную информацию:
$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", "admin", "1234") or die("Не могу соединиться");
mysql_select_db("new");
//создадим запрос к базе на выдачу новостей
$query="SELECT * FROM name_base ORDER BY id_zakaz DESC";
$result = mysql_query($query);
//пройдемся по двадцати последним вытаскивая, то что нам нужно
for ($i=1; $i<10; $i++)
{
$row = mysql_fetch_array($result);
$date = $row[1];
$title = $row[2];
$text = $row[3];
$author = $row[4];
$data.="<item>";
$data.="<title>".$title."</title>";
$data.="<link>".$author."</link>";
$data.="<description><br>".$text."</description>";
$data.="<dc:creator>".$author."</dc:creator>";
$data.="<dc:date>".$date."</dc:date>\n\n</item>";
}
//закрываем базу
mysql_close($link);
//добавляем хвостовую информацию.
$data=$data."</channel></rss>";
//печататаем результат на экран. Все!
print($data);
?>
****************************************
И что с ним делать дальше?
Данные $date, $title, $text, $author - имеются в базе данных. Каким образом их вывести в браузер? | |
| |
|
|
| |
|
|
| |
для: jaroslav
(03.09.2006 в 19:09)
| | |
for ($i=1; $i<10; $i++)
{
$row = mysql_fetch_array($result);
$date = $row[1];
$title = $row[2];
$text = $row[3];
$author = $row[4];
|
Обсолютно не правильно! mysql_fetch_array(); Создаёт массив, но не с индексами 0,1,2,3,4 и т.д., а например name, pass и т.д. Я конечно незнаю, как у вас называются поля в БД, но уж врядли 0,1,2,3,4... а если вас леннь переписывать названия, то замените mysql_fetch_array(); на mysql_fetch_row(); | |
| |
|
|
| |
|
|
| |
для: DEM
(03.09.2006 в 19:15)
| | | Подскажите, как создать RSS ленту на сайте? Какое расширение должен иметь файл? Почему во всех примерах приводиться PHP код, а на сайтах с RSS лентами файлы имеют расширение XML? | |
| |
|
|
| |
|
|
| |
для: Jaroslav
(03.09.2006 в 19:52)
| | | Расширение - любое. | |
| |
|
|
| |
|
|
| |
для: Jaroslav
(03.09.2006 в 19:52)
| | | RSS - просто выводит файл XML... Обрабатывает этот файл РНР-скрипт (ну или другой, но в нашем случае РНР). То есть, файл в котором находятся эти ленты новостей XML, а файл обработчик пишется на РНР | |
| |
|
|
| |
|
|
| |
для: DEM
(03.09.2006 в 20:18)
| | | А вы не могли бы привести простенький пример? Я знаю PHP и MySQL. Но абсолютно не знаю XML! В этом-то и вся проблема.
Почему если я пишу код на PHP (см. выше) и делаю расширение .XML, то браузер выводит:
***********************************************
Не удается отобразить страницу XML
Не удается просмотреть ввод XML с использованием списка стилей . Исправьте ошибку и затем нажмите кнопку "Обновить"или повторите попытку позднее.
В текстовом комментарии обнаружен недопустимый знак. Ошибка при обработке ресурса ''http://127.0.0.1/namesite/1.xml''. Строка 2,Положение 3
//
*********************************************** | |
| |
|
|
| |
|
|
| |
для: Jaroslav
(03.09.2006 в 21:00)
| | | Подскажите, как создать RSS!? | |
| |
|
|
| |
|
|
| |
для: Jaroslav
(03.09.2006 в 21:00)
| | | Прикрепите сгенерированный XML-файл, чтобы было проще ориентироваться. | |
| |
|
|
| |
|
|
| |
для: cheops
(04.09.2006 в 12:35)
| | | А как сгенерировать XML-файл? | |
| |
|
|
| |
|
|
| |
для: Jaroslav
(04.09.2006 в 12:44)
| | | Он у вас уже сгенерирован - нужно просто сохранить XML-страницу, где у вас ошибка и прикрепить её к сообщению в виде отдельного файла. | |
| |
|
|
| |
|
|
| |
для: cheops
(04.09.2006 в 12:58)
| | | Здравствуйте!
Немного стал разбираться с RSS.
Уже идет создание XML файла. Файл имеет расширение .PHP – код в самом верху (в первом сообщении). Но если я файлу присваиваю расширение .XML, то появляются ошибки. Почему? Как поступать дальше? Доработать этот PHP файл, на сайте его выложить и дать ссылку, например rss.php? Это и будет RSS лента?
Расскажите, пожалуйста, поподробнее про такие строки:
$data.="<title>".$title."</title>";
$data.="<link>".$author."</link>";
$data.="<description><br>".$text."</description>";
$data.="<dc:creator>".$author."</dc:creator>";
$data.="<dc:date>".$date."</dc:date>\n\n</item>";
Какие еще могут быть?
Насколько я понял, строка:
$data.="<link>".$author."</link>";
указывает ссылку на страницу сайта, где можно прочитать данную новость целиком. А зачем вообще указывать описание новости, дату и т.д.?
При помощи какой-либо программы (у мня стоит Feeds) можно посмотреть название новостей. А потом при нажатии на ссылку перейти на сайт и просмотреть новость полностью.
Или описание новости можно просмотреть не заходя на сайт?
Как сделать так, чтобы описание было отформатировано при помощи тегов HTML?
Пока такие вопросы :) | |
| |
|
|
| |
|
|
| |
для: Jaroslav
(07.09.2006 в 21:48)
| | | title - название
link - ссылка
description _описание
creator - автор
date - дата публикации
Клиентов, читающих RSS-каналы достаточно много, как для людей, так и поисковых роботов. Некоторые клиенты читают всё, в том числе и описание, дата нужна для определения того, старая новость или новая.
Тэги в описании к сожалению применять нельзя, только простой текст. | |
| |
|
|