Avatar
Snorlax
Redaktor
Avatar
Snorlax:

Ahoj měl bych otázku ohledně RSS a PHP. Mám stránku kam se mají psát různé akce (něco ve stylu:"Dnes Vám zapálíme dům se slevou 50%! Pokud chcete volejte hned!") a chtěl bych aby se tyto zprávy mohly zobrazovat i uživatelům přes nějakou RSS čtečku, jako má tady Devbook ty aktuality.

Ohledně těch akcí, tak jsou přes databázi a na stránku je vypisuji přes PHP... Pokud tedy víte jestli je něco zdarma co by vám ty akce četlo a vytvářelo RSS kód (nebo jak to funguje), napište mi prosím.
Dík moc

Odpovědět 14.8.2013 0:11
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

Zkus si vyhledat nějaký "PHP RSS generátor". Není to však nic složitého. Dá se na to použít DomDocument, XMLwriter apod.

Nahoru Odpovědět 14.8.2013 0:19
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

Málem bych zapomněl na svůj vlastní článek:
http://www.itnetwork.cz/…s-z-databaze

Nahoru Odpovědět 14.8.2013 0:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Snorlax:

ok dík zejtra si to vklidu pročtu a snad to dám dohoromady. kdyžtak se ozvu ;)

Nahoru Odpovědět 14.8.2013 0:55
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

Nejvíc mě asi zmátlo, že z dotazu nebylo patrné, zda chceš RSS čtečku nebo generátor. Mám obojí.

Nahoru Odpovědět 14.8.2013 1:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Snorlax:

tak vytvářet si vlastní čtečku je trochu nesmysl ne? :D

Nahoru Odpovědět 14.8.2013 9:44
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Odpovídá na Snorlax
Michal Žůrek (misaz):

proč je to jako nesmysl? Pokud bude umět něco navíc, tak proč ne.

Nahoru Odpovědět 14.8.2013 9:49
Nesnáším {}, proto se jim vyhýbám.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Michal Žůrek (misaz)
Snorlax:

tak proč vyvíjet něco, co už je na trhu nejmíň milionkrát a nedá se to nějak mega zlepšit... to je jak kdybych se rozhodl že budu vyvíjet svůj google. Lepší to prostě nebude. :D

Nahoru Odpovědět 14.8.2013 10:02
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Snorlax
David Čápka:

Ale ty budeš potom lepší ;-)

Nahoru Odpovědět  +1 14.8.2013 10:15
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Nahoru Odpovědět 14.8.2013 10:20
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

Máš v nadpisu RSS čtečka na aktuality , tak jsem si myslel, že chceš čtečku. Teprve z kontextu příspěvku jsem pochopil, že chceš generátor.

Vlastní čtečku RSS používám denně na čtení místního RSS. Je pro mne výhodnější než běžně dostupné RSS čtečky.

Nahoru Odpovědět 14.8.2013 10:26
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na David Čápka
Snorlax:

Podle mě ale se ty RSS čtečky nedaj nějak zlepšovat...

Nahoru Odpovědět 14.8.2013 10:47
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:

Sorry mělo tam bejt generátor ale když člověk myslí na 100 věcí tak se splete...

A když tady pořád mluvíte o té vlastní čtečce tak mě možná i dokopete k tomu abych si taky nějakou zkusil, ikdyž mám minimum času :D. Stačí že jsem se rozhodl si zkusit Javu podle místních návodů a je to teda úplně něco jinýho než PHP ve kterým dělám teď.

Nahoru Odpovědět 14.8.2013 10:51
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

RSS čtečku jsem si napsal v PHP. Je to jednoduchá aplikace asi na 10 řádcích.

Nahoru Odpovědět 14.8.2013 10:59
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:

To já věřím že to není nic těžkýho.
Jo a mimochodem koukám na ten tvůj článek a musim se vám přiznat že v životě jsem nedělal s objekty (kromě PDO připojení na db :D ) a tak trochu mi vrtá hlavou jak ten objekt zjistí co má dát do jaké "položky" (nebo jak se tomu řiká). Pro jistotu myslím tuto část

<?php
// nyní vyberu články. Dotaz je nutné přizpůsobik konkrétní struktuře databáze
$result=$db->query("SELECT * FROM clanek");
foreach($result->fetchAll(PDO::FETCH_CLASS) as $row) {
  $item=$dom->createElement('item');
  $item->appendChild($dom->createElement('title',htmlspecialchars($row->title)));
  $item->appendChild($dom->createElement('link',htmlspecialchars($row->link)));
  $item->appendChild($dom->createElement('pubDate',$row->pubDate));
  $item->appendChild($dom->createElement('description',htmlspecialchars($row->description)));
  $item->appendChild($dom->createElement('dc:creator',htmlspecialchars($row->creator)));
  $channel->appendChild($item);

?>

To bere array $row a protě jednotlivým položkám přizazuje hodnoty jak jdou v tý array?

Nahoru Odpovědět 14.8.2013 11:04
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

PDO udělá ze získaných záznamů z DB seznam objektů, který projdeš přes foreach. Proměnná $row reprezentuje jeden řádek z DB, který se skládá ze sloupců. $row->pubDate je odkaz na sloupec pubDate z DB.

Teď koukám, že místo PDO::FETCH_CLASS tam má být PDO::FETCH_OBJ, ale PHP je to zřejmě jedno.

Nahoru Odpovědět 14.8.2013 11:15
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:

takže je to

$item->appendChild($dom->createElement('NÁZEV_SLOUPCE',htmlspecialchars($row->title)));

?

Nahoru Odpovědět 14.8.2013 11:19
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

Ne. Je to trošku jinak:

$item->appendChild($dom->createElement('značka_HTML',htmlspecialchars($row->nazev_sloupce)));
Nahoru Odpovědět 14.8.2013 11:25
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:

ok super snad to už chápu. jde se zprovozňovat :D

Nahoru Odpovědět 14.8.2013 11:27
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Snorlax
Redaktor
Avatar
Snorlax:

ok snad poslední otázka. jsou povinný všechny položky? bode hodně vadit když vynechám dc:creator? :D

Nahoru Odpovědět 14.8.2013 11:31
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

Podívej se do dokumentace. Povinných je jich jen několik.

Nahoru Odpovědět 14.8.2013 11:33
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:

upřímě to jsem nechtěl bže tam občas najít nějakou informaci je občas problém. naštestí tady to tak nebylo :O povinný jsou title, link a description ;) ok tak to mám a snad i funkční! dík moc hned ti jdu ohodnotit ten článek...

Nahoru Odpovědět 14.8.2013 11:39
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

Včera jsem si ještě zkusil totéž s použitím třídy XMLwriter. Můžeš ještě zkusit tuto alternativu, třeba se ti bude líbit víc.

Nahoru Odpovědět 14.8.2013 11:42
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:

hele já jsem naprosto spokojen s touto verzí, protože to funguje a nevidím důvod to nějak to zlepšovat nebo zkrášlovat a ani to neni dlouhý (39 řádků)... jsem naprosto spokojen, zbejvá mi jen do webu udělat ty odkazy ;)

Nahoru Odpovědět 14.8.2013 11:52
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

Jsem zvyklý vyzkoušet si několik variant a pak z nich vybrat. XMLwriter generuje XML trochu jinak než DomDocument. Obchází tvorbu DOM, který je v jiných případech velmi užitečný, ale tady ho ani tak moc nepotřebujeme a spíš trochu zdržuje.

Pokud jsi však spokojený, je to OK.

Nahoru Odpovědět 14.8.2013 12:03
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Snorlax
Redaktor
Avatar
Odpovídá na Kit
Snorlax:

tak samozřejmě je vždy lepší si vybrat z více variant, ale tohle jsem si chtěl udělt jako nějakou třešničku na dortu, ne se tím tejden zabývat ;)

Nahoru Odpovědět 14.8.2013 12:10
Kdo chce pochopit, pochopí. Kdo dělá že chce pochopit, může pouze dělat, že pochopil...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Snorlax
Kit:

DomDocument používám na generování kompletního webu u náročnějších aplikací, protože je to elegantní, velmi rychlé, objektové a na celý web vystačím s jedinou šablonou, která ani není moc velká.

XMLwriter se hodí spíš pro generování XML nebo jednoduššího HTML.

Nahoru Odpovědět 14.8.2013 12:16
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 27 zpráv z 27.