Вернуться   SEO форум - оптимизация и продвижение сайтов > Web разработки > Программирование

Важная информация
Программирование - PHP, MySQL, JavaScript, CSS, HTML верстка и т.д.

Ответ
 
Опции темы Рейтинг: Рейтинг темы: голосов - 2, средняя оценка - 5.00. Опции просмотра
Старый 03.11.2011, 00:28   #1
 
Аватар для Maks_Bardakov
 
Сообщений: 352
FR (активность): 9,408

Доп. информация
Сообщение Автор темы Как сделать RSS ленту, в php...?

Как сделать RSS ленту, в php - так, что бы все выводилось на автомате
Maks_Bardakov вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 04.11.2011, 20:28   #2
 
Аватар для alicizi
 
Сообщений: 10
FR (активность): 76

Доп. информация
По умолчанию

не знаю на пхп ли, но многие делаю так : создают xml файл, размещают в нем скрипт, который можно найти в гугле. Это обыкновенная лента, как ее сделать можно найти в гугле
alicizi вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 04.11.2011, 20:32   #3
 
Аватар для Maks_Bardakov
 
Сообщений: 352
FR (активность): 9,408

Доп. информация
По умолчанию Автор темы

alicizi, это я и так знаю.
я хочу что бы все выводилось автоматически из mysql базы при помощи php
Maks_Bardakov вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 04.11.2011, 20:45   #4
 
Аватар для IgorZaz
 
Сообщений: 604
FR (активность): 17,192

Доп. информация
По умолчанию

phpmyadmin в помощь. Если хост поддерживает. Вывод для сайта:

Оффтоп:
<?

$server = '***'; // ИМЯ СЕРВЕРА
$user = '***'; // ПОЛЬЗОВАТЕЛЬ - НЕ ИСПОЛЬЗУЙТЕ ROOT ДЛЯ ВАШЕЙ ЖЕ БЕЗОПАСНОСТИ
$pass = '***'; // ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ

$db = '***'; // БАЗА ДАННЫХ
$table = '***'; // НАЗВАНИЕ ТАБЛИЦЫ

$chislo = 15; // ЧИСЛО СООБЩЕНИЙ НА СТРАНИЦЕ

// ДЛЯ УДОБСТВА ОБОЗНАЧИМ ПЕРЕМЕННУЮ С ТЕКСТОМ ОШИБКИ
$text_error = '<br />Ошибочка вышла!';

// СОЕДЕНИМСЯ С MySQL
$connect = mysql_connect ($server, $user, $pass);
if (!$connect) {
echo $text_error;
exit;
}

// СОЕДЕНИЯЕМСЯ С БАЗОЙ ДАННЫХ
$select = mysql_select_db($db);
if (!$select) {
echo $text_error;
exit;
}

// СОЗДАЁМ ЗАПРОС

$result = mysql_query("SELECT * FROM $table ORDER BY id");
// СЧИТАЕМ КОЛЛИЧЕСТВО ЗАПИСЕЙ В ТАБЛИЦЕ
$num_rows = mysql_num_rows($result);

//А ТЕПЕРЬ СЧИТАЕМ НА СКОЛЬКО СТРАНИЦ НАМ РАЗБИТЬ ЗАПИСИ И ВЫДЕЛЯЕМ ЦЕЛОЕ ЧИСЛО
$num_rows = ceil($num_rows/$chislo); // 20 ДЕЛИМ НА 5. СКОЛЬКО? - я использовал ceil для округления в большую сторону.


// ЗДЕСЬ МЫ ПРОВЕРЯЕМ НА КАКОЙ СТРАНИЦЕ СЕЙЧАС ПОЛЬЗОВАТЕЛЬ
if (isset($_GET['str'])) {
$nav = $_GET['str'];
}
else {
$nav = 0;
}
$nav = intval($nav); // ДЛЯ ЗАЩИТЫ ОТ НЕХОРОШИХ ДЯДЕНЕК МЫ ВЫДЕЛИМ ЦЕЛУЮ ЧАСТЬ $GET['str']
echo 'Страницы: ';

// А ТЕПЕРЬ ВЫВОДИМ НОМЕРА СТРАНЦ
for ($i=1; $i<=$num_rows; $i++) {
if ($i != $nav) {
echo '<a href="'.$PHP_SELF.'?str='.$i.'" style="background-color: #cecece; padding-left: 3px; padding-right: 3px; border: 1px solid grey">'.$i.'</a> ';
}
else {
// АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
echo '<span>'.$i.'</span> ';
}
}

echo '<hr />'; // ОТДЕЛИМ НАВИГАЦЮ ОТ КОНТЕНТА ДЛЯ НАГЛЯДНОСТИ

// НАЧИНАЕМ ВЫВОДИТЬ САМУ ИНФОРМАЦИЮ ПОСТРАНИЧНО
if (!isset($_GET['str'])) {
$str = $i - $i++ -1;
}
else {
$str = $_GET['str']*$chislo - $chislo;
}

// ФОРМИРУЕМ ЗАПРОС НУЖНОЙ НАМ ЧАСТИ ИНФОРМАЦИИ
$result = mysql_query("SELECT * from $table ORDER BY date DESC LIMIT $str, $chislo");
// ИНАЧЕ ВЫВОДИМ ОШИБКУ
if (!$result) {
echo $text_error;
exit;
}

echo '<div style="width: 100%;">';

while ($row = mysql_fetch_array($result)) {

$msg= "
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<font color='#CC6600'>Добавлено: ".$row['date']."</font>
<div>".$row['name']."
<ul style='display: none; border: 1px solid grey; padding: 5px'>
".substr($row['text'],0,30000)."
</ul>
</div>";
echo "$msg";

echo ' <hr size="0.1em" noshade>';
}

echo '</div>';
echo 'Страницы: ';
// ОПЯТЬ ВЫВОДИМ НОМЕРА СТРАНЦ
for ($i=1; $i<=$num_rows; $i++) {
if ($i != $nav) {
echo '<a href="'.$PHP_SELF.'?str='.$i.'" style="background-color: #cecece; padding-left: 3px; padding-right: 3px; border: 1px solid grey">'.$i.'</a> ';
}
else {
// АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
echo '<span>'.$i.'</span> ';
}
}

mysql_close($connect);

?>


Все рабочее. Реализовано здесь
Часть кода убрал. Должно показывать полный текст новостей сразу, а не только заголовки.

P.S. Можно конечно и попроще, но этот вывод сразу с постраничной навигацией, а с необходимостью оной очень скоро столкнешься при частом добавлении новостей.
terranodar и Maks_Bardakov: сообщение полезно


Google - для слабаков! Настоящие мужики спрашивают у ясеня!
IgorZaz вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
"Спасибо" от:
Maks_Bardakov (05.11.2011), terranodar (04.11.2011)
Старый 05.11.2011, 05:31   #5
 
Аватар для Maks_Bardakov
 
Сообщений: 352
FR (активность): 9,408

Доп. информация
По умолчанию Автор темы

IgorZaz, а зачем в RSS постраничная навигация?
Maks_Bardakov вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 05.11.2011, 06:43   #6
 
Аватар для Maks_Bardakov
 
Сообщений: 352
FR (активность): 9,408

Доп. информация
По умолчанию Автор темы

IgorZaz, а где сам код rss?
Оффтоп:
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>Liftoff News</title>
<link>http://liftoff.msfc.nasa.gov/</link>
<description>Liftoff to Space Exploration.</description>
<language>en-us</language>
<pubDate>Tue, 10 Jun 2003 04:00:00 GMT</pubDate>

<lastBuildDate>Tue, 10 Jun 2003 09:41:01 GMT</lastBuildDate>
<docs>http://blogs.law.harvard.edu/tech/rss</docs>
<generator>Weblog Editor 2.0</generator>
<managingEditor>[email protected]</managingEditor>
<webMaster>[email protected]</webMaster>

<item>
<title>Star City</title>
<link>http://liftoff.msfc.nasa.gov/news/2003/news-starcity.asp</link>
<description>How do Americans get ready to work with Russians aboard the
International Space Station? They take a crash course in culture, language
and protocol at Russia's Star City.</description>
<pubDate>Tue, 03 Jun 2003 09:39:21 GMT</pubDate>
<guid>http://liftoff.msfc.nasa.gov/2003/06/03.html#item573</guid>
</item>

<item>
<title>Space Exploration</title>
<link>http://liftoff.msfc.nasa.gov/</link>
<description>Sky watchers in Europe, Asia, and parts of Alaska and Canada
will experience a partial eclipse of the Sun on Saturday, May 31st.</description>
<pubDate>Fri, 30 May 2003 11:06:42 GMT</pubDate>
<guid>http://liftoff.msfc.nasa.gov/2003/05/30.html#item572</guid>
</item>

<item>
<title>The Engine That Does More</title>
<link>http://liftoff.msfc.nasa.gov/news/2003/news-VASIMR.asp</link>
<description>Before man travels to Mars, NASA hopes to design new engines
that will let us fly through the Solar System more quickly. The proposed
VASIMR engine would do that.</description>
<pubDate>Tue, 27 May 2003 08:37:32 GMT</pubDate>
<guid>http://liftoff.msfc.nasa.gov/2003/05/27.html#item571</guid>
</item>

<item>
<title>Astronauts' Dirty Laundry</title>
<link>http://liftoff.msfc.nasa.gov/news/2003/news-laundry.asp</link>
<description>Compared to earlier spacecraft, the International Space
Station has many luxuries, but laundry facilities are not one of them.
Instead, astronauts have other options.</description>
<pubDate>Tue, 20 May 2003 08:56:02 GMT</pubDate>
<guid>http://liftoff.msfc.nasa.gov/2003/05/20.html#item570</guid>
</item>
</channel>
</rss>
Maks_Bardakov вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 05.11.2011, 09:32   #7
 
Аватар для IgorZaz
 
Сообщений: 604
FR (активность): 17,192

Доп. информация
По умолчанию

Что-то я не вкурил... Что нужно то? Если просто позиционировать ленту, то это формат *.rss либо *.xml. Тупо кинуть в папку и где нибудь в feedburner зарегить, тогда будет отображаться в браузерах как лента при подписке. Тут php и не пахнет. А чтобы на сайт выводить - см. код выше. Есть какие то конвертеры в паблике из кода xml в mysql (я ручками базу забивал). Переконвертишь, зальешь на хост и применишь код.


Google - для слабаков! Настоящие мужики спрашивают у ясеня!
IgorZaz вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 15.01.2012, 22:19   #8
 
Аватар для alex2973
 
Сообщений: 21
FR (активность): 48

Доп. информация
По умолчанию

Посмотрите здесь - может это то, что Вам нужно?
http://www.news.dalkon.ru/
А сам скрипт здесь
http://script-ks.narod.ru/rss_exchange.rar
alex2973 вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Старый 16.01.2012, 07:51   #9
 
Аватар для IgorZaz
 
Сообщений: 604
FR (активность): 17,192

Доп. информация
По умолчанию

alex2973, В плане SEO этот скрипт только навредит. Одни внешние ссылки. Не сайт, а сателит какой-то получается.


Google - для слабаков! Настоящие мужики спрашивают у ясеня!
IgorZaz вне форума  
Ответить с цитированием Сказать Плохо за это бесполезное сообщение Быстрый ответ на это сообщение
Ответ

Быстрый ответ
Ваше имя пользователя: Регистрация. Для входа нажмите здесь
Случайный вопрос

Сообщение:
Опции
Внимание!
Этой теме более 3910 дней. Вы можете оставить сообщение здесь. Но, обращаем внимание. Возможно, рациональней создать новую тему (найти свежее обсуждение)?


Опции темы
Опции просмотра Оценка этой теме
Оценка этой теме:

Ваши права в разделе
Вы не можете создавать новые темы
Вы можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
О чем сделать блог? katanaflash Блогосфера 11 12.04.2012 14:25
Как встроить ленту новостей в свой сайт? y-7 Создание сайтов другого типа 2 07.10.2011 13:23
как сделать бан?: Reider Почетные пользователи - скрытый раздел 9 16.08.2011 13:51
Как сделать? Kirilv Мусорка 3 14.04.2010 21:43
Сделать ГС Grinkoff Сайты - создание 3 21.06.2009 16:02

Текущее время: 19:40. Часовой пояс GMT +3.