RSS - LES 5 DERNIERS POST DE PHPBB

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 27 déc. 2004 à 12:56
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 9 avril 2006 à 14:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/28425-rss-les-5-derniers-post-de-phpbb

cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 avril 2006 à 14:15
ouais enfin sa fonction première c'est pas de libérer de la mémoire mais de fermer la connexion (qui elle occupe de la mémoire), donc oui ça libère de la mémoire, mais c'est pas sa fonction première (y'a unset() pour ça).
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
9 avril 2006 à 13:15
le mysql_close permet de libérer plus tot de la mémoire...

Bon, sinon, phpbb c'est pas super optimisé...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 avril 2006 à 13:13
Nan, mais c'est mieux de le faire juste après le dernier mysql_query() car sinon tu peux avoir des erreurs de max_user_connections
cs_spyro666 Messages postés 137 Date d'inscription lundi 10 janvier 2005 Statut Membre Dernière intervention 28 août 2007
9 avril 2006 à 12:35
Y a-t-il un quelconque danger si on ne fait pas mysql_close() apres un mysql_query() ?
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
22 août 2005 à 00:37
il manque aussi un mysql_close() après le mysql_query()
cs_mickael9 Messages postés 13 Date d'inscription dimanche 19 juin 2005 Statut Membre Dernière intervention 16 novembre 2005
22 août 2005 à 00:35
A la racine de ton forum.
sidi system Messages postés 1 Date d'inscription samedi 5 février 2005 Statut Membre Dernière intervention 6 février 2005
6 févr. 2005 à 16:07
voila je suis un debutant et je voudrais savoir ou placer ce fichier
a+
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
5 janv. 2005 à 21:42
Voilà j'ai tenu compte de vos remarques pour mettre à jour le code.

Merci à vous

_SebF
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 janv. 2005 à 16:31
Oki, c'est donc cela phpbb...

J'aimes pas trop les trucs tout faits...

Si qqn veut, pour ajouter un module à phpbb, je vais tenter de faire un réseau de neurones en php pour censurer les messages...

si c'est trop lent, je le ferais en C et php ne fera que l'apeler grace à la commande system...

Si qqn est volontaire, ou si qqn à de la doc...
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 janv. 2005 à 14:50
je rajoute :

$id=mysql_query("select topic_title,topic_id from z_forum_topics where forum_id!=11 ORDER BY topic_id desc");

à remplacer par

$id=mysql_query("SELECT topic_title,topic_id FROM z_forum_topics WHERE forum_id!=11 ORDER BY topic_id DESC LIMIT ".$nombre_de_post_a_afficher);

Ensuite
for ($i=1;$i<=$nombre_de_post_a_afficher;$i++)
{
$tempo=mysql_fetch_row($id);
echo "\n";
echo "<title>$tempo[0]</title>\n";
echo "<link>http://www.frameip.com/forum/viewtopic.php?t=$tempo[1]</link>\n";
echo "\n\n";
}

à remplacer par

while($tempo=mysql_fetch_row($id))
{
echo "\n";
echo "<title>".$tempo[0]."</title>\n";
echo "<link>http://www.frameip.com/forum/viewtopic.php?t=".$tempo[1]."</link>\n";
echo "\n\n";
}

et encore...

a +
fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007
2 janv. 2005 à 14:33
C'est clair,je l'utilise sur mon site : http://fg.logiciel.free.fr/php/forums/
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 janv. 2005 à 13:33
utilisé par beaucoup de sites, oui

vraiment bien au niveau optimisation, non.
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 janv. 2005 à 13:26
C'est un forum utilisé par bcp de sites ?

C'est vraiment bien comme forum ?
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
2 janv. 2005 à 13:02
Tiens ça me fait penser que j'ai oublié de mentionner ça :

for ($i=1;$i<=$nombre_de_post_a_afficher;$i++)
{
$tempo=mysql_fetch_array($id);
echo "\n";
echo "<title>$tempo[0]</title>\n";
echo "<link>http://www.frameip.com/forum/viewtopic.php?t=$tempo[1]</link>\n";
echo "\n\n";
}

à remplacer par ça :

for ($i=1;$i<=$nombre_de_post_a_afficher;$i++)
{
$tempo=mysql_fetch_row($id);
echo "\n";
echo "<title>$tempo[0]</title>\n";
echo "<link>http://www.frameip.com/forum/viewtopic.php?t=$tempo[1]</link>\n";
echo "\n\n";
}

car dans ce cas le fetch_array ne sert à rien si ce n'est qu'à ralentir le script.

a +
webdeb Messages postés 488 Date d'inscription samedi 5 avril 2003 Statut Membre Dernière intervention 31 mars 2009 4
2 janv. 2005 à 12:52
Source intéressante dans son contexte mais quelques points négatifs :

-> Shorts tags (ca a été dit)
-> Préfère mysql_fetch_assoc à mysql_fetch_array
-> Ecris tes requêtes SQL avec les mots spécifiques en majucusules (SELECT, WHERE...)

Voilà !

++
fg85 Messages postés 370 Date d'inscription dimanche 28 mars 2004 Statut Membre Dernière intervention 13 avril 2007
27 déc. 2004 à 15:59
Mouarf c'était pas le peine de faire une source pour ça ;-)
Malgré quelque fonction intérrésante que je m'enpresse de modifier/utiliser .
---------------------------
http://fg.logiciel.free.fr
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
27 déc. 2004 à 14:48
et quelques quotes simples pour ce qui est du pinaillage mdr, mais les multiples echo seraient à remplacer par un seul echo avec des quotes simples (j'ai pas eu le courage de le refaire désolé)

a +
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
27 déc. 2004 à 13:36
short tags...
au moins :
<? ceci n'est pas portable, alors que <?php ceci l'est...
_sebf Messages postés 42 Date d'inscription jeudi 1 avril 2004 Statut Membre Dernière intervention 7 octobre 2006
27 déc. 2004 à 13:19
Peux tu expliquer oùu sont les différences et pourquoi ?

Merci.
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
27 déc. 2004 à 12:56
Salut ;-)

remplaces ton code par ça :

<?php

// **********************************************
// Variables à Définir
// **********************************************
$nombre_de_post_a_afficher=5;

// ********************************
// Connexion à la base Mysql
// ********************************
mysql_connect('server','login','password');
mysql_select_db('nom_de_la_base');

// **********************************************
// Récupération du nombre de post totale
// **********************************************
$id=mysql_query('select topic_id from z_forum_topics where forum_id!=11');
$nombre_de_post_total=mysql_num_rows($id);

// **********************************************
// Affichage de l'entête de la page Xml
// **********************************************
header('Content-Type: text/xml');
echo "<?xml version="1.0" encoding="ISO-8859-1"?>\n\n";
echo "<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN"\n";
echo " "http://my.netscape.com/publish/formats/rss-0.91.dtd">\n\n";
echo "<rss version= "0.91">\n\n";

// **********************************************
// Affichage de la catégorie
// **********************************************
echo "<channel>\n";
echo "<title>Le Forum du monde TCPIP avec FrameIP.com</title>\n";
echo "<link>http://www.frameip.com/</link>\n";
echo "<description>FrameIP, un forum pour les spécialistes IP - Les 5 derniers posts</description>\n";
echo "<language>fr</language>\n\n";
echo "\n";
echo "<title>FrameIP</title>\n";
echo " http://www.frameip.com/logos/logo_30.jpg \n";
echo "<link>http://www.frameip.com</link>\n";
echo "<description>FrameIP, un forum pour les spécialistes IP. - TcpIP - Voip - Toip - Vpn - Ipv6</description>\n";
echo "<width>142</width>\n";
echo "<height>56</height>\n";
echo "\n\n";

// **********************************************
// Récupération des Posts
// **********************************************
$id =mysql_query("select topic_title,topic_id from z_forum_topics where forum_id!=11 ORDER BY topic_id desc");

// **********************************************
// Affichage des Posts
// **********************************************
for ($i=1;$i<=$nombre_de_post_a_afficher;$i++)
{
$tempo=mysql_fetch_array($id);
echo "\n";
echo "<title>$tempo[0]</title>\n";
echo "<link>http://www.frameip.com/forum/viewtopic.php?t=$tempo[1]</link>\n";
echo "\n\n";
}

// **********************************************
// Affichage de l'entête de la page Xml
// **********************************************
echo "</channel>\n\n";
echo "</rss>";

?>

Tu peux également optimiser les echos

a +
Rejoignez-nous