Autor Zpráva
matlala
Profil
Ahoj,
potřeboval bych se zeptat jak vygenerovat RSS z databáze - potřebuju udělat novinky, už me neba vždy po přidání do db lézt do RSS kodu
dle me by to šlo udělat výpisem z db a pak uložit zápisem do text souboru
ale nevim jak na to kodově.

Poraďte prosím
Díky Petr
vertigo4
Profil
matlala
už me neba vždy po přidání do db lézt do RSS kodu
to se ani nedivim ;-)
http://interval.cz/clanky/tvorba-rss-v-php/
matlala
Profil
a nešlo by to přes normální PHP, objektové neumim a ani se ho učit nechci.
vertigo4
Profil
ale vždyt si stačí stáhnou myslím 4 soubory, dosadíš údaje do databáze a je to, ne?
matlala
Profil
no ale přeci rád bych to pochopil, objektove php nechapu vubec
bukaj
Profil
matlala
objektove php nechapu vubec
No, v tom případě by ses měl vzdělávat, protože i když nebudeš objektově psát (což nemusíš - raději pořádně napsaný procedurální kód než to, kdybys nacpal fce do tříd a říkal, že píšeš objektově (v objektech možná, ale objektově ne)), budeš muset nějaké ty knihovny používat, pokud si nechceš všechno psát odznova (což by byla samozřejmě hloupost). Seriál na linuxsoftu bohužel tentokrát na odkázání nedostačuje, protože objekty jsou probrány ve dvou kapitolách a to ani ne moc obsáhle. Ale na intervalu je pár článků, po jejichž přečtení bys měl být schopen s hotovými knihovnami pracovat (vytvářet nejspíš ještě ne, ale syntaxi pochopíš). At aky samozřejmě manuál může posloužit.
yFang
Profil
matlala
Tak to udělej tak, že to vypíšeš jako vypisuješ HTML, akorát to přizpůsobíš do XML kódu. ;-)
matlala
Profil
jak přizpůsobím? Značky to mi je jasny ale co dal? odeslat hlavičku nebo co?
matlala
Profil
takže konečně pro ostatní dávám svůj konečný kod je to stejné prostě uděláte soubor něco.php a pošlete hlavičku a vypíšete normalně z Db jen místo html bude XML

soubor rss.php:
<?php
header("Content-Type: application/rss+xml");//nejdůležitější, tímto oblbneme prohlížeč
include "include/spojeni_mysql.php";
echo urldecode("%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22windows-125 0%22%3F%3E");//vypíše <?xml version="1.0" encoding="windows-1250"?><rss version="2.0">
//s nezakodonavym i to dělalo bordel v obarvovavi syntaxe

//a ted klasicky vypis
echo "<rss version=\"2.0\">
  <channel>
    <title>AQUA garden.ic.cz - Moje akvarijní zahrada - RSS zdroj</title>
    <link>http://aquagarden.ic.cz/</link>
    <description>Osobní stránky o akvaristice - Prezentace akvárií, články, fotogalerie, návštěvní kniha a mnoho dalšího...</description>
    <language>cs</language> 
    <managingEditor>matlala@seznam.cz</managingEditor>
    <webMaster>matlala@seznam.cz</webMaster> 
    <generator>PSPad editor</generator>
    <copyright>(C) aquagarden.ic.cz. Všechna práva vyhrazena autorovi a desingerovi / All rights reserved author and desing</copyright>
<image>
	<url>http://aquagarden.ic.cz/fotky/favicon.gif</url>
	<title>AQUAgarden icon</title>
	<link>http://aquagarden.ic.cz/</link>
</image>
";
mysql_query("SET NAMES 'cp1250';");
$vysledek=mysql_query("SELECT * FROM `novinky` order by datum desc");
while($zaznam = mysql_fetch_array($vysledek))
{
$date = $zaznam["datum"];
$rok = substr($date, 0, 4);
$mesic1 = substr($date, 5, 1);
$mesic2 = substr($date, 6, 1);
if($mesic1==0){$mesic=$mesic2;}else{$mesic=$mesic1.$mesic2;}
$den1 = substr($date, 8, 1);
$den2 = substr($date, 9, 1);
if($den1==0){$den=$den2;}else{$den=$den1.$den2;}
$nove_datum = $den.".".$mesic.".".$rok;
$preklas=array(".<br>" => " ", ".<br />" => " ");
$zprava = strtr($zaznam["novinka"], $preklas);     
echo"
<item>
<title>".$zaznam["titulek"]."</title>
<link>".$zaznam["url"]."</link>
<description>".$nove_datum." - ".strip_tags($zprava)."</description>
</item>
";
}
echo"
</channel>
</rss>";
?>

)
nakonec mužeme ještě php soubor zamaskovat přes mod rewrite v .htaccess:
RewriteEngine On
RewriteRule   rss.xml   /rss.php

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0