Hoi,
Mijn feed die ik wil maken werkt niet. Ik wil een feed maken waarbij een PHP bestand nieuwe vacatures ophaalt uit de databse. Kan iemand mij helpen ? De velden die ik wil meenemen staan bij SELECT.....FROM.

Dit is het PHP-bestand:

<?php
header 'content-Type: application/xml; charset=UTF-8'; //Het is een XML-bestand

echo '<rss version=\"2.0\">\n';
echo '<channel>\n';
echo '<title>Marks Pagina</title>\n ';
echo '<link>http://www.vacature-werkt.nl/Vacature-zoeken-feed.xml</link>\n ';
echo '<description>De RSS-feed van Marks Pagina.</description>\n ';
echo '<language>nl</language>\n';

// Verbinding maken
$conn = mysql_connect('******','*****','****');
if(!$conn) {
echo 'Error: cannot make connexion. Please contact ##.<br />';
} else {
echo 'There is an connexion with the database.<br />';
}

// Database selecteren
$db = mysql_select_db('*****');
if(!$db) {
echo 'Error: cannot make connexion. Please contact Search Jobs Abroad.<br />';
} else {
echo 'Database selected.<br />';
}

$qry = "SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY datum DESC LIMIT 10";

while($rss_feed = mysql_fetch_assoc($sql))
{
$id = $rss_feed['id'];
$naamvacature = $rss_feed['naamvacature'];
$datum = $rss_feed['datum'];
$vacaturebeschrijving = stripslashes($rss_feed['vacaturebeschrijving']);
$vacaturebeschrijving = htmlspecialchars($vacaturebeschrijving); //Alle html tekens omzetten in leesbare tekens

echo '<item>\n';
echo '<title>'.$naamvacature.'</title>\n';
echo '<pubdate>'.$datum.'</pubdate>';
echo '<link>http://www.jesite.nl/link/naar/het/artikel/'.id.'</link>\n';;
echo '<description>'.$vacaturebeschrijving.'...</description>\n';
echo '</item>\n';
echo '</channel>\n';
echo '</rss>';
?>


En dit is het XML-bestand:
<?xml version="1.0"?>
<rss version="2.0">
<channel>

<item>
<title>De titel van het item - 1</title>
<link>http://www.jesite.nl/link/naar/het/artikel/</link>;
<pubdate>Wed, 24 Feb 2010 19:05:58 +0000</pubdate>
<creator>Auteur</creator>
<description>Het hele artikel, een gedeelte of een samenvatting ervan.</description>
</item>

<item>
<title>De titel van het item - 2</title>
<link>http://www.jesite.nl/link/naar/het/artikel/</link>;
<pubdate>Wed, 24 Feb 2010 19:05:58 +0000</pubdate>
<creator>Auteur</creator>
<description>Het hele artikel, een gedeelte of een samenvatting ervan.</description>
</item>

</channel>
</rss>
je voert nergens je query uit.

mysql_query($qry);

en denk om foutafhandeling
maar waar moet ik dat dan zetten en welke velden ? (ik ben een beginner) Bovenstaand script is met copy/past in elkaar gesleuteld.
$qry = mysql_query("SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY datum DESC LIMIT 10");

if($qry){
//gadoor
}
else{
echo mysql_error();
}

als ik die aanpassing doe krijg ik geen php foutmelding maar gewoon een foute pagina [KAN DE PAGINA NIET WEERGEVEN]

Er gaat dus iets niet goed. Graag word ik hierbij geholpen.

Verder heb ik nog een vraag. Hoe kan ik het .php bestand koppelen aan het .xml bestand ?
Hoi,

Ik ben nu een stapje verder en er lijkt nu wel wat beweging te komen in de feed. Maar waarom wordt er geen link weergegevens als ik de pagina http://www.vacature-werkt.nl/Vacature-zoeken-feed1.php ga bekijken ? Ik zou dan toch alle vacatures moeten zien die ik uit de betreffende tabel in de database haal ?

<?php
// Verbinding maken
$conn = mysql_connect('localhost','databasenaam','wachtwoord');

// Database selecteren
$db = mysql_select_db('databasenaam');

$RSSTITLE = 'Vacatures Werken';
$RSSDESC = 'Vacature Werkt';
$RSSLINK = 'http://www.vacature-werkt.nl';;

echo '<channel>
<title>'.$RSSTITLE.'</title>
<description>'.$RSSDESC.'</description>
<link>'.$RSSLINK.'</link>
<language>nl</language>
<title>24</title>
<lastBuildDate>'.date('r', getlastmod() ).'</lastBuildDate>
<generator>Vacature Werkt</generator>
<category>Vacatures</category>
<managingEditor>[email protected]</managingEditor>
<webMaster>[email protected]</webMaster>
<copyright>(c) '.date('Y').' - Peter de Strater</copyright>
';

$data = mysql_query('SELECT id, naamvacature, vacaturebeschrijving FROM vacatures ORDER BY datum DESC LIMIT 10');
while($row = mysql_fetch_assoc ($data)) {

echo '<item>
<link>'.$RSSLINK.'</link>
<title>'.htmlspecialchars($row['naamvacature']).'</title>
<description>'.htmlspecialchars(substr($row['vacaturebeschrijving'], 0, 200)).'</description>
<guid>http://www.vacature-werkt.nl/Vacaturegegevens.php?id='.$show->id.'</guid>;
</item>
';

}

echo '</channel>';
?>
Waarom bouw je zelf de XML op, en gebruik je geen DOM of SimpleXML?

Ennogmaals: Er ontbreekt foutafhandeling.
Omdat ik een simpele beginner ben......daarom leek me alles in PHP veel makkelijker..

In principe maakt het me niet veel als er maar uit mijn php databse alle vacatures gehaald worden, deze omgezet worden naar een feed (en ik die later kan gebruiken om ze naar twitter te forwarden) vind ik alles prima. Maar het moet echt wel eenvoudig blijven. Anders wordt het niks bij jij denk ik.

Simpele beginner of niet, je kan natuurlijk altijd eens naar DOM of SimpleXML (aanrader) kijken.

Zo voorkom je dat je een typfout in een XML-syntax maakt, waarnaar je straks uuren zit te turen.Maar goed, pas eerst eens foutafhandeling toe.
Hoi,
Boven in het bestand heb ik dit geplaatst:

<?php
header ("Content-Type:text/xml");
?>

In IE ziet het er dan anders uit maar in FireFox kjrijg ik "Dit XML-bestand lijkt geen geassocieerde stijlinformatie te hebben. De documentstructuur is hieronder weergegeven."

Wat ik verder vreemd vind vind is dat ik geen klikbare LINK te zien krijg ?

Reageren