login  Naam:   Wachtwoord: 
Registreer je!
 Forum

krijg rss feed niet aan de praat

Offline storem - 27/05/2007 10:36
Avatar van storemNieuw lid hallo,

Ik probeer voor mijn website wielerbasis.nl een rss feed te maken voor het nieuws, maar het wil me nog niet echt lukken.

ik heb een bestand aangemaakt genaamd rss.xml overgenomen van een andere site van mij.

En bij het nieuws toevoegen in de admin heb ik dit net als bij de andere site enkel de link anders, maar hij werkt niet weet iemand de oplossing?

  1. function create_rss() {
  2.  
  3. $rss_feed = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
  4. $rss_feed .= '<rss version="2.0">'."\r\n";
  5. $rss_feed .= '<lastBuildDate>'.date("r").'</lastBuildDate>'."\r\n";
  6. $rss_feed .= '<language>nl-nl</language>'."\r\n";
  7. $sql = mysql_query("SELECT id,titel,bericht,DATE_FORMAT(datum,'%d-%m-%Y %H:%i') as post_date FROM nieuws WHERE actief=1 ORDER BY datum DESC LIMIT 10") or die(mysql_error());
  8. while($r = mysql_fetch_assoc($sql)) {
  9. $rss_feed .= '<item>'."\r\n";
  10. $rss_feed .= '<title>'.$r['titel'].'</title>'."\r\n";
  11. $rss_feed .= '<link>http://www.wielerbasis.nl/index.php?pagina=nieuws&amp;id='.$r['id'].'</link>'."\r\n";
  12. if(strlen($r['bericht']) > 250) {
  13. $rss_feed .= '<description>'.substr($r['bericht'],0,247).'...</description>'."\r\n";
  14. } else {
  15. $rss_feed .= '<description>'.$r['bericht'].'</description>'."\r\n";
  16. }
  17. $rss_feed .= '<pubDate>'.$r['post_date'].'</pubDate>'."\r\n";
  18. $rss_feed .= '</item>'."\r\n";
  19. }
  20. $rss_feed .= '</rss>';
  21. $fp = fopen('../rss.xml','w');
  22. fwrite($fp,$rss_feed);
  23. }


Foutmelding bij toevoegen:
Unknown column 'actief' in 'where clause'

alvast bedankt voor de oplossing

21 antwoorden

Gesponsorde links
Offline Voldemort - 27/05/2007 10:42
Avatar van Voldemort PHP ver gevorderde
  1. WHERE actief=1


in je query. De fout zegt dat er geen veld genaamd "actief" in de tabel "nieuws" is.

Geef je tabelstructuur eens.
Offline storem - 27/05/2007 10:53 (laatste wijziging 27/05/2007 11:03)
Avatar van storem Nieuw lid bedankt voldemort voor de snelle reactie. Daar ligt inderdaad de fout. Bij deze gebruik ik geen actief. Hoe kan ik dat uit de RSS halen zodat de code wel goed blijft.:?:

als ik het als volgt doe:
  1. function create_rss() {
  2.  
  3. $rss_feed = "<?xml version="1.0\" encoding=\"ISO-8859-1\" ?>";
  4. $rss_feed .= '<rss version="2.0">'."\r\n";
  5. $rss_feed .= '<lastBuildDate>'.date("r").'</lastBuildDate>'."\r\n";
  6. $rss_feed .= '<language>nl-nl</language>'."\r\n";
  7. $sql = mysql_query("SELECT id,titel,bericht,DATE_FORMAT(datum,'%d-%m-%Y %H:%i') as post_date FROM nieuws ORDER BY datum DESC LIMIT 10") or die(mysql_error());
  8. while($r = mysql_fetch_assoc($sql)) {
  9. $rss_feed .= '<item>'."\r\n";
  10. $rss_feed .= '<title>'.$r['titel'].'</title>'."\r\n";
  11. $rss_feed .= '<link>http://www.wielerbasis.nl/index.php?pagina=nieuws&amp;id='.$r['id'].'</link>'."\r\n";
  12. if(strlen($r['bericht']) > 250) {
  13. $rss_feed .= '<description>'.substr($r['bericht'],0,247).'...</description>'."\r\n";
  14. } else {
  15. $rss_feed .= '<description>'.$r['bericht'].'</description>'."\r\n";
  16. }
  17. $rss_feed .= '<pubDate>'.$r['post_date'].'</pubDate>'."\r\n";
  18. $rss_feed .= '</item>'."\r\n";
  19. }
  20. $rss_feed .= '</rss>';
  21. $fp = fopen('../rss.xml','w');
  22. fwrite($fp,$rss_feed);
  23. }


Dan krijg ik de volgende fouten:
Warning: fopen(../rss.xml) [function.fopen]: failed to open stream: Permission denied in /home/kats/domains/wielerbasis.nl/public_html/admin/nieuws.php on line 25

Warning: fwrite(): supplied argument is not a valid stream resource in /home/kats/domains/wielerbasis.nl/public_html/admin/nieuws.php on line 26
Offline ikkedikke - 27/05/2007 11:17
Avatar van ikkedikke PHP expert Verwijder het bestand rss.xml eens en laat het door php aanmaken.
Je hebt nu het probleem dat de eigenaar van het bestand jouw ftpgebruiker is waarschijnlijk. Wanneer je het door php aan laat maken krijgt het als eigenaar het id van apache.
Offline storem - 27/05/2007 11:20 (laatste wijziging 27/05/2007 11:36)
Avatar van storem Nieuw lid blijf het zelfde houden naar het verwijderen van rss.xml
Offline JBke - 27/05/2007 11:40 (laatste wijziging 27/05/2007 11:41)
Avatar van JBke PHP gevorderde verander ook:

lijn 3 eens naar
  1. <?php
  2. $rss_feed = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
  3. ?>


of ' enkele quetes zoals je volgende lijnen??
Offline storem - 27/05/2007 12:01
Avatar van storem Nieuw lid helpt ook niet, de foutmeldingen blijf ik houden en ik krijg ook geen rss pagina.
Offline ikkedikke - 27/05/2007 13:17
Avatar van ikkedikke PHP expert Kijk eens na of de server schrijfrechten heeft in de map waar je het neer wil zetten..?
Iets als dit:
  1. <?
  2. ?>

Offline webrik - 30/05/2007 19:28
Avatar van webrik HTML interesse als je zorgt dat zowel de map waar hij instaat als het bestand 777 gechmod is werkt hij dan wel?
Offline Thomas - 31/05/2007 12:03 (laatste wijziging 31/05/2007 12:04)
Avatar van Thomas Moderator Voeg fclose($fp) toe, kan nooit kwaad.

En wellicht moet je met absolute paden werken ($_SERVER['DOCUMENT_ROOT']./pad/naar/je/rss/file/...) in plaats van relatieve paden.
Offline storem - 31/05/2007 21:01
Avatar van storem Nieuw lid Ik heb echt al alles geprobeerd afgelopen dagen, maar het wil me maar niet lukken. Ik heb dit:
  1. function create_rss() {
  2.  
  3. $rss_feed = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\" ?>";
  4. $rss_feed .= '<rss version="2.0">'."\r\n";
  5. $rss_feed .= '<lastBuildDate>'.date("r").'</lastBuildDate>'."\r\n";
  6. $rss_feed .= '<language>nl-nl</language>'."\r\n";
  7. $sql = mysql_query("SELECT id,titel,bericht,DATE_FORMAT(datum,'%d-%m-%Y %H:%i') as post_date FROM nieuws ORDER BY datum DESC LIMIT 10") or die(mysql_error());
  8. while($r = mysql_fetch_assoc($sql)) {
  9. $rss_feed .= '<item>'."\r\n";
  10. $rss_feed .= '<title>'.$r['titel'].'</title>'."\r\n";
  11. $rss_feed .= '<link>http://www.wielerbasis.nl/index.php?pagina=nieuws&amp;id='.$r['id'].'</link>'."\r\n";
  12. if(strlen($r['bericht']) > 250) {
  13. $rss_feed .= '<description>'.substr($r['bericht'],0,247).'...</description>'."\r\n";
  14. } else {
  15. $rss_feed .= '<description>'.$r['bericht'].'</description>'."\r\n";
  16. }
  17. $rss_feed .= '<pubDate>'.$r['post_date'].'</pubDate>'."\r\n";
  18. $rss_feed .= '</item>'."\r\n";
  19. }
  20. $rss_feed .= '</rss>';
  21. }
  22. $display_menu = TRUE;


En dit als RSS
  1. <?xml version="1.0" encoding="ISO-8859-1" ?><rss version="2.0">
  2. <lastBuildDate>Fri, 18 May 2007 07:34:45 +0200</lastBuildDate>
  3. <language>nl-nl</language>
  4. <item>
  5. <title></title>
  6. <link></link>
  7. <description></description>
  8. <pubDate></pubDate>
  9. </item>
  10. </rss>


Kan iemand mijn probleem verhelpen? of een tip geven waar ik mogelijk beter de gehele pad naar de RSS moet invullen.
Offline Wim - 31/05/2007 21:12
Avatar van Wim Crew algemeen er zit een fout in create_rss op lijn 3:
$rss_feed = "<?xml version="1.0\" encoding=\"ISO-8859-1\" ?>";

dit kan het oplossen:
$rss_feed = '<?xml version="1.0" encoding="ISO-8859-1" ?>';
Offline storem - 31/05/2007 21:23
Avatar van storem Nieuw lid @wimmarien: ik heb dat aangepast. maar op me rss pagina blijf ik dit houden http://www.wielerbasis.nl/rss.xml dus denk dat het niet heeft geholpen:'(
Offline Dolfje - 31/05/2007 23:11 (laatste wijziging 31/05/2007 23:13)
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
volgens mij staat er maar 1 artikel in je database en is die dan nog eens niet ingevuld.

Doe anders eens print_r($r); in je while en post hem hier 
Offline JBke - 31/05/2007 23:23
Avatar van JBke PHP gevorderde aan je code kan ik ook enkel bovenvermelde fout vinden, zoals dolfje al vroeg staat er wel iets in je database??
Offline storem - 01/06/2007 18:34
Avatar van storem Nieuw lid @ dolfje: sorry ik ben niet zo goed hierin, waar moet ik de code plaatsen?

@JBKE: ja er staan al nieuwsberichten in de mysql database.
Offline Dolfje - 01/06/2007 23:41
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
net achter de while
Offline storem - 02/06/2007 10:13
Avatar van storem Nieuw lid heb ik gedaan krijg dan dit na het nieuwstoevoegen:
http://www.plaatscode.be/5497/
Offline marten - 02/06/2007 10:18
Avatar van marten Beheerder Er staan dus gegevens in de array. Nu moet je de array nog zo zien uit te lezen dat hij de juiste gegevens gaat tonen. Een array kan je uitlezen met de functie foreach. Meer info op http://www.php.net/foreach
Offline storem - 02/06/2007 10:36
Avatar van storem Nieuw lid Ik vind het zo raar dat hij niet gewoon werkt. Ik gebruik precies hetzelfde bij een andere site en die werkt gewoon. Ligt het niet aan een link in de code die ik mogelijk het gehele pad moet geven?
Offline Dolfje - 02/06/2007 10:40 (laatste wijziging 02/06/2007 10:40)
Avatar van Dolfje Gouden medailleGouden medailleGouden medaille

PHP ver gevorderde
zet --echo $rss_feed;-- eens na --$rss_feed .= '</rss>';--
ik snap het ook niet.

verander eens $fp = fopen('../rss.xml','w'); in $fp = fopen('./rss.xml','w');

en zeg me wat je allemaal krijgt
Offline storem - 02/06/2007 11:11 (laatste wijziging 07/06/2007 18:16)
Avatar van storem Nieuw lid Gedaan:

http://www.plaatscode.be/5500/

Zou iemand me aub kunnen helpen ik wil graag een rss feed voorafgaand aan de tour de france hebben maar wat ik ook probeer niks lukt:'(
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.258s