Création flux RSS (2 tables mysql)
Bonjour,
j'ai récemment lancé un site d'offre de stage en entreprise qui tourne sur wordpress (theme acheté).
Je souhaite réalisé un flux xml reprenant différentes informations.
Mes données concernant les offres de stage sont sur deux tables :
wp_posts et wp_postmeta
Structure (synthétisée) wp_posts : ID / post_title / post_content / guid / post_date
Structure wp_postmeta : meta_id / post_id /meta_key / meta_value
Voici le code utilisé pour créer mon flux rss :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| <?php
header("Content-Type: application/rss+xml; charset=ISO-8859-1");
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', 'root');
DEFINE ('DB_HOST', 'localhost:8888');
DEFINE ('DB_NAME', 'wordpress');
$rssfeed = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$rssfeed .= '<rss version="2.0">';
$rssfeed .= '<channel>';
$rssfeed .= '<title>My RSS feed</title>';
$rssfeed .= '<link>http://www.mywebsite.com</link>';
$rssfeed .= '<description>This is an example RSS feed</description>';
$rssfeed .= '<language>en-us</language>';
$rssfeed .= '<copyright>Copyright (C) 2009 mywebsite.com</copyright>';
$connection = @mysql_connect(localhost, root, root)
or die('Could not connect to database');
mysql_select_db(wordpress)
or die ('Could not select database');
$query = "SELECT * FROM wp_posts,wp_postmeta WHERE `post_status` LIKE 'publish' AND `post_type` LIKE 'job_listing' AND wp_posts.ID = wp_postmeta.post_id ORDER BY post_date DESC";
$result = mysql_query($query) or die ("Could not execute query");
while($row = mysql_fetch_array($result)) {
extract($row);
$rssfeed .= '<item>';
$rssfeed .= '<id>' . $ID . '</id>';
$rssfeed .= '<title>' . $post_title . '</title>';
$rssfeed .= '<description>' . $post_content . '</description>';
$rssfeed .= '<link>' . $guid . '</link>';
$rssfeed .= '<pubDate>' . date("D, d M Y H:i:s O", strtotime($post_date)) . '</pubDate>';
$rssfeed .= '<company>' . ??????? . '</company>';
$rssfeed .= '</item>';
}
$rssfeed .= '</channel>';
$rssfeed .= '</rss>';
echo $rssfeed;
?> |
Tout fonctionne bien... Mais je ne sais pas comment aller chercher "company" (meta_value renvoyée par meta_key dans la table wp_postmeta)...
A noter que ID dans wp_posts correspond à post_id dans wp_postmeta
Voici un screenshot de la table wp_postmeta (où 16 correspont au post_id soit ID dans wp_posts) :
http://dl.dropbox.com/u/560669/Captu...2023.11.42.png
Merci beaucoup pour votre aide !