8797 sujets

Développement web côté serveur, CMS

Bonjour,

j'aimerais créer un flux rss pour ma gallerie de photos. Jusque là pas de problème.

Mais je voudrais que ce flux soit mis à jour automatiquement.
Par exemple si j'ajoute une photo à ma base de données php, ne pas avoir à créer un nouveau flux avec mes petites mains.


Est-ce que c'est possible, avez-vous des pistes ou des conseils ?

Merci,

Arnob
Slt,

oui c'est possible. As tu déjà généré du code (X)html avec php ? Si oui, c'est exactement la même chose, et pour créer ton flux, je te conseille ce tutorial (de e-t172).
Sinon, je te conseille de commencer par générer du Xhtml, déjà pour comprendre le principe.

a+
Bonjour,
php permet de générer n'importe quoi (ou presque).
Mon flux RSS à moi est entièrement géré par php et mis à jour automatiquement en fonction de la base de données.
Je suis d'accord avec le post précédent qui dit que ce n'est pas beaucoup plus compliqué que de générer du XHTML.
merci por le lien, donc je suppose que c'est le php qui va endre mon flux dynamique. Mais comment ? Aurais-tu un lien pour la partie php aussi clair que le précédent?

merci
j'ai trouvé un tuto qui doit être ce que je cherche mais j'ai besoin de deux éclaircisements.

Le tuto :

Dynamic RSS Feed


Interested in putting an RSS Feed like the one I have on my site on your site? If your site runs PHP and mySQL, this is the tutorial for you. It will take you through the steps to pull out the data and have it working in no time.

Ok, first thing you want to do is make a file. I called mine rss.php, but you can call it whatever you want (but make sure the file extention is PHP!)

Now we're going to throw some code into the page to get it started.

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

echo ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
?>
<rss version='2.0'>
<channel>
<title>Your Title Here</title>
<description>Your description Goes Here.</description>
<link>http://linktoyour/rss.php</link>
<language>en-us</language>


This is the top code in your document. You'll want to change the title, description and link to fit your needs. Next, we're going to connect to the database.


<?php
$db_host = "localhost";
$db_name = ""; //database name
$db_user = ""; //database user
$db_pass = ""; //user password

$db_connection = @mysql_pconnect($db_host,$db_user,$db_pass) or die("Sorry, cannot connect to database.");
@mysql_select_db($db_name,$db_connection) or die(dbdown());



Put this under the section you've already put in. Make sure you put in the appropriate connection information. Also, you could replace this with an include of your connection script if you prefer. I'm just doing this in one file for the sake of simplicity. Ok, after you've done that, we're going to put in the code that does the query and puts the entries into the RSS file.


$result = mysql_query ("SELECT * FROM `%%TABLE%%` ORDER BY `id` DESC LIMIT 0,10 ") or die (mysql_error());

while ($row = mysql_fetch_array ($result)) {
$desc = $row[2];
$desc = str_replace("\n","&lt;br /&gt;",$desc);
echo (" <item>
<title>");
echo $row[1];
echo ("</title>
<description>");
echo $desc; //content you want the person to read
echo ("</description>
<link>http://yoursite.com/index.php?article=");
echo $row[0];
echo ("</link>
</item>\n\n");
}



With this, you'll want to edit a couple things. First, in the query, you'll want to change %%TABLE%% to the table you're selecting from. You can also change the query to specify certain fields that will be used and also change the number it outputs. Next is the $row[] array numbers. You'll want them to reflect your own site. In my case, 0 is the id, 1 is the title and 2 is the actual article. And finally, you'll want to replace the link to your own site. On that note, you'll want to set it up so that it goes to the version on your site. And now for the final piece of the code.


C'est ce que je ne comprends pas. Qu'est-ce qu'une table ? Je la trouve où ?

Quest-ce que le "$row[] array numbers"



mysql_free_result ($result);
?>
</channel>
</rss>

Nothing to change this time. Just save it, and try viewing it in your RSS reader.

Finally, once you're done that, you should add something to your index so that web browsers can be aware you have a RSS feed on your site.


<link rel="alternate" type="application/rss+xml" title="Title of RSS feed" href="http://yoursite/rss.php" />


Just change the title and href values and put it inside the head tags on your header.

Merci,

Arnob
© 2005 Mike Haugland - Version 2
Privacy Policy Terms of se
Quand tu as créé ta "base de donnée php" (voir ton premier message), tu as créé une table organisée en plusieurs champs:
- %%TABLE%% = le nom de la table
- $row est un tableau php dont chaque item est l'un des champs de ta table
En gros, ton possede une galerie (php et mysql certainement),
tu veut générer un flux RSS, pas de probleme.

Ce qu'il faut que tu fasse, c'est aller chercher les information de la Base de Donné, dans la table utlisé par ton script de galerie.

A chaque fois que tu rajoute une image, le script envoie les infos dans la base de donné, puis il les affiche sur ton site.

Ce que tu doit faire, c'est aller chercher ses données, et les afficher sous forme de flux.

Si tu n'a aucune connaissance en PHP, oriente toi vers le site du zero (donné plus haut), il y a des tres nombreux chapitres traitant avec merveille de ce language.

Autrement ya des tuto sur les flux RSS un peu partout (Par exemple
Mobman02 a écrit :
Si tu n'a aucune connaissance en PHP, oriente toi vers le site du zero (donné plus haut), il y a des tres nombreux chapitres traitant avec merveille de ce language.


je vais mettre (à mon habitude Smiley cligne ) froidement les pieds dans le plat, mais il serait préférable d'oublier le site du zéro en attendant de voir dans quel esprit seront éventuellement corrigés ses tutoriels à l'occasion de sa prochaine version, en cours de mise en place.

ce site, réalisé par des gens manifestement compétents dans certains domaines, est très dommageable dans d'autres.

Concernant PHP, d'autres sites plus spécialisés comme php.debutant me semblent actuellement plus probants.

<edit>Ceci est un avis strictement personnel, et sans lien avec le fait que je fasse partie des modérateurs du forum Alsa</>
Modifié par Laurent Denis (09 Aug 2005 - 12:13)
C'est ton avis et je le respecte,
personellement j'ai tout appris avec phpdebutant.org,
mais leurs tuto son plutot compliquer.

C'est plus tard que j'ai decouvert les tuto PHP de M@téo et ils sont plus abordable, et il traite de plus nombreux domaine.
De plus ils sont encore d'actualité, et, comme tu le dit, ils vont tous etre revisé, ce qui ne ferais pas de mal non plus a ceux de phpdebutant.org .

Maaaiiiss ce n'est pas le sujet, je m'egarre ^^

Smiley biggol
bien, merci pour votre aide. Je vais me pencher là-dessus.

donc, %%TABLE%% = le nom de la table. Donc %%mg2-idatabase.php%%
Bon, je suis complètement perdu...
Qu'est-ce que je dois remplir, changer...et avec quoi ?

merci si vous pouvez m'aider...

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

echo ("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
?>
<rss version='2.0'>
<channel>
<title>arnauld en Chine</title>
<description>mes photos</description>
<link>http://www.arnauld.fr/rss.php</link>
<language>en-us</language>

<?php
$db_host = "localhost";
$db_name = "mg2db-idatabase.php"; //database name
$db_user = "arnob"; //database user
$db_pass = "..."; //user password

$db_connection = @mysql_pconnect($db_host,$db_user,$db_pass) or die("Sorry, cannot connect to database.");
@mysql_select_db($db_name,$db_connection) or die(dbdown());

$result = mysql_query ("SELECT * FROM `%%TABLE%%` ORDER BY `id` DESC LIMIT 0,10 ") or die (mysql_error());

while ($row = mysql_fetch_array ($result)) {
$desc = $row[2];
$desc = str_replace("\n","&lt;br /&gt;",$desc);
echo (" <item>
<title>");
echo $row[1];
echo ("</title>
<description>");
echo $desc; //content you want the person to read
echo ("</description>
<link>http://yoursite.com/index.php?article=");
echo $row[0];
echo ("</link>
</item>\n\n");
}

mysql_free_result ($result);
?>
</channel>
</rss>