[PHP] RSS feed volgende lijn, hoe?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 36681

Topicstarter
Ik wil een rss feed maken met daarin wat gegevens die uit een mysql database worden gehaald via PHP.

Het maken van de RSS feed is geen probleem op 1 ding na.
Ik wil de gegevens telkens op een volgende regel hebben staan ipv achter elkaar, coorbeeld:

PHP:
1
2
3
4
5
    echo "<description>Current status : $status\n";
        echo "Current users: $users\n";
        echo "Current lacation: $location\n";
        echo "Last command : $lastcommand on $timelastcommand by $commandgiveby\n";
        echo "Checked on : $checked</description>\n";


Het resultaat is echter dat dus alles achter elkaar komt te staan.
Zodra ik er bv een <br> erbij zet op <p> </p> gebruik dan werkt de rss niet meer, dan zie ik geen gegevens meer dus.

Dit werkt dus niet:
PHP:
1
2
3
4
5
    echo "<description>Current status : $status<br>";
        echo "Current users: $users<br>\n";
        echo "Current lacation: $location<br>\n";
        echo "Last command : $lastcommand on $timelastcommand by $commandgiveby<br>\n";
        echo "Checked on : $checked</description>\n";



Dit werkt dus ook niet:
PHP:
1
2
3
4
5
    echo "<description><p>Current status : $status</p>";
        echo "<p>Current users: $users</p>\n";
        echo "<p>Current lacation: $location</p>\n";
        echo "<p>Last command : $lastcommand on $timelastcommand by $commandgiveby</p>\n";
        echo "<p>Checked on : $checked</p></description>\n";


Hoe kan ik nu elke waarde op een volgende lijn krijgen zodat de RSS feed toch werkt?

Acties:
  • 0 Henk 'm!

  • semicolon
  • Registratie: Mei 2004
  • Niet online
Binnen CDATA kun je wel HTML tags zetten, maar mag ik vragen waarom je niet gewoon een eigen XML structuur gebruikt hiervoor, maar RSS? (ik weet niet waarvoor het uiteindelijk gebruikt wordt.)
XML:
1
<title><![CDATA[je <b>tekst</b>]]></title>

Mocht RSS niet echt nodig zijn kun je het mss beter als gewoon XML outputten, bijvoorbeeld zoiets.

voorbeeld:
XML:
1
2
3
4
5
6
7
8
9
10
11
<stats>
  <status>$status</status>
  <users>$users</users>
  <location>$location</location>
  <last_command>
    <command>$command</command>
    <datetime>$command_datetime</datetime>
    <user>$command_user</user>
  </last_command>
  <last_checked>$checked</last_checked>
</stats>

:D/-<


Acties:
  • 0 Henk 'm!

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 09-06 21:17
Een \n is het juiste karakter om naar de volgende regel te gaan.
Waar zie jij geen rfegeleindes? In je browser? Dat klopt, die renderd HTML en daarin is \n geen nieuwe regel.

Indien je de juiste content heade rmeegeeft zodat je browser weet dat het geen HTML maar XML is, zul je de regeleindes wel zien.
Zet bovenin je script eens;
PHP:
1
2
3
<?php
header("Content-type: text/xml");
?>


//Edit
ah, niet goed gekeken naar je voorbeeld code. Je wilt regeleindes in je inhoud. Daarvoor heb je inderdaad de CDATA zoals boven me vermeld.

[ Voor 15% gewijzigd door frickY op 12-11-2006 16:18 ]


Acties:
  • 0 Henk 'm!

Anoniem: 36681

Topicstarter
Max v W schreef op zondag 12 november 2006 @ 16:16:
Binnen CDATA kun je wel HTML tags zetten, maar mag ik vragen waarom je niet gewoon een eigen XML structuur gebruikt hiervoor, maar RSS? (ik weet niet waarvoor het uiteindelijk gebruikt wordt.)
XML:
1
<title><![CDATA[je <b>tekst</b>]]></title>

Mocht RSS niet echt nodig zijn kun je het mss beter als gewoon XML outputten, bijvoorbeeld zoiets.

voorbeeld:
XML:
1
2
3
4
5
6
7
8
9
10
11
<stats>
  <status>$status</status>
  <users>$users</users>
  <location>$location</location>
  <last_command>
    <command>$command</command>
    <datetime>$command_datetime</datetime>
    <user>$command_user</user>
  </last_command>
  <last_checked>$checked</last_checked>
</stats>
De bedoeling is dat klanten die een bepaalde dienst huren deze info kunnen gebruiken in hun eigen site of in hun browser.
Ik heb voor RSS gekozen omdat de meeste nieuwe browsers dit ondersteunen.
Als ik eigen waardes ga gebruiken is het niet meer te lezen in sommige browsers (bv FF)