Phpbb - Recuperer les 10 derniers topics

Discussion dans 'Administration d'un site Web' créé par nautiljon, 8 Juin 2005.

  1. nautiljon
    nautiljon WRInaute discret
    Inscrit:
    23 Mars 2005
    Messages:
    204
    J'aime reçus:
    0
    Bonjour,

    J'aurai voulu savoir comment faire pour recuperer les titre des 10 derniers topic d'un forum phpbb (chaque titre faisant office de lien vers le topic) afin de les afficher sur n'importe quelle page du site en lui même.
    J'ai essayer de voir dans le code phpbb mais je suis un peu perdu -_-, si quelqu'un pouvais m'aider ce serait cool :)

    Merci.

    Nautiljon.
     
  2. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Salut,

    Un truc tout simple ;) devrait fonctionner je pense


    Code:
    <?php
    $hote= "localhost";
    $base= "";
    $user= "";
    $pass= "";
    
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($base) or die ('Erreur :'.mysql_error());
    
    $select = "SELECT topic_title,topic_id FROM phpbb_topics ORDER BY topic_id DESC limit 10";
    $result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
      
        while($row = mysql_fetch_array($result)) 
    	{
    	$topic_id = $row['topic_id'];
    	$titre = $row['topic_title'];
        echo '<a href="/forums/viewtopic_'.$topic_id.'.html">'.$titre.'</a><br>';
        }
    mysql_free_result($result);
    mysql_close(); 
    ?>
    Sinon il existe un mod pour ça, topicanywere un truc dans le genre fait une recherche sur www.phpbb-fr.com En javascript par contre il me semble :cry:
     
  3. nautiljon
    nautiljon WRInaute discret
    Inscrit:
    23 Mars 2005
    Messages:
    204
    J'aime reçus:
    0
    Wai c'est preque bon ! Le truc c'est que j'utilise un mod pour l'url rewriting, j'aurai bien voulu l'appliquer ! donc si quelqu'un sait ce serait cool!
     
  4. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Je vois pas le rapport la ? tu as juste modifier l'url dans le code source si ca ne correspond pas :?

    Edit : Ok je vois ce que tu veux dire :wink: dans ce cas tu récupères le variable title et tu adaptes ...
     
  5. Pouzy
    Pouzy WRInaute passionné
    Inscrit:
    1 Septembre 2004
    Messages:
    1 041
    J'aime reçus:
    0
    Ehe, merci, j'utilisais le javascript du MOD de Aideinfo, mais ça c'est plus .. référencement correct :p

    Même si il ne parle que des derniers sujets postés, et pas les derniers posts comme le faisait le mod :p
     
  6. nautiljon
    nautiljon WRInaute discret
    Inscrit:
    23 Mars 2005
    Messages:
    204
    J'aime reçus:
    0
    C'est bon j'ai réussit a reprendre les fonctions du mod d'url rewriting de Kaizen et les adapter à ce que je voulais faire ^^

    Pouzy->pour les posts a mon avis il suffit de selectionner dans la table post au lieu de la table topic !
     
  7. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    tu peut nous faire partager ton code mon brave ? :d
     
  8. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    j'ai cette erreur pour ton code moutyk

    Erreur : Table 'matable_dd.forum_' doesn't exist


    hors mes infos son bonne et mon prefix est bien forum_

    ou est le bug ?
     
  9. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Slt,

    Tes infos de connection sont elles les bonnes ?
    As tu bien modifié cette ligne ?

    $select = "SELECT topic_title,topic_id FROM phpbb_topics ORDER BY topic_id DESC limit 10"
     
  10. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    oui moutyk, merci de ta reponse rapide :

    voila mon code

    <?php
    $hote= "localhost";
    $base= "rou_mi";
    $user= "rou_foxus";
    $pass= "zzzzzzz";

    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($base) or die ('Erreur :'.mysql_error());

    $select = "SELECT topic_title,topic_id FROM forum_ ORDER BY topic_id DESC limit 10";
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );

    while($row = mysql_fetch_array($result))
    {
    $topic_id = $row['topic_id'];
    $titre = $row['topic_title'];
    echo '<a href="/forums/viewtopic_'.$topic_id.'.html">'.$titre.'</a><br>';
    }
    mysql_free_result($result);
    mysql_close();
    ?>


    et c les memes infos que le config.php de phpBB j'ai tous vérifié.

    c'est quoi la variable $dbms = 'mysql'; du config.php ? ca a une incidence qu'elle ne sosi aps presente dans ton code ?

    mes amitiés
     
  11. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Re,

    aucune incidence !

    Dis moi c'est le nom complet de ta table forum_ ?

    Sinon essaye avec ça :

    $select = "SELECT topic_title,topic_id FROM forum_topics ORDER BY topic_id DESC limit 10";
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
     
  12. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    oui c le nom complet... et ta modification me laisse le meme msg d'erreur

    le code est appeler d'u nfichier test.php qui ne se situe pas dans le meme dossier que le forum phpbb, aucune incidences non plus ?
     
  13. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    A pardon si CA MARCHE avec forum_topics c'est bon :)

    un grand merci

    dernier petti detail que je mettez dans topicanywere (mais en javascrip snif) :

    c mettre les resultat sous cette forme :

    Comment afficher les resultats phpbb - (6 Réponses) - Louve

    bref mettre le nombre de reponses et le pseudo du dernier posteur sur ce topic sur la meme ligne ?

    tu pense que c'est trop compliqué ?

    amicalement
     
  14. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Non aucun incidence non plus.

    A mon avis tu as une erreur au niveau de la base ou du nom de la table, sinon je vois vraiment pas.

    Retrouve le nom exact de ta table dans phpmyadmin peut être afin d'être totalement sûr ?!
     
  15. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    reli mon msg juste au dessus mon chere moutyk :)
     
  16. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Oui j'ai vu trop tard !!

    pour afficher les réponses :

    Code:
    <?php 
    $hote= "localhost"; 
    $base= ""; 
    $user= ""; 
    $pass= ""; 
    
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); 
    mysql_select_db($base) or die ('Erreur :'.mysql_error()); 
    
    $select = "SELECT topic_title,topic_id,topic_replies FROM forum_topics ORDER BY topic_id DESC limit 10"; 
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); 
    
    while($row = mysql_fetch_array($result)) 
    { 
    $topic_id = $row['topic_id']; 
    $reponse = $row['topic_replies'];
    $titre = $row['topic_title']; 
    echo '<a href="/forums/viewtopic_'.$topic_id.'.html"><b>'.$titre.'</b> ('.$reponse.')</a><br>'; 
    } 
    mysql_free_result($result); 
    mysql_close(); 
    ?>
     
  17. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    HA superbbee

    je vais essayé :)

    Imense merci a toi :)

    si une personne desire completer ce code avec le pseudo du dernier posteur ça sera LA PERFECION A L'ETAT PURE !!! :)

    je vais tester ;)
     
  18. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Tiens allé voici la suite je suis d'attaque ce soir ;)

    Le nom du posteur et le lien vers son profile. Par contre je précise je suis pas un pro du php peut être que la requete est à optimiser, perso je l'utilise sur un forum avec 80 connectés et sur toutes les pages sans problème, mais bon à voir.

    Avec le nom du posteur :

    Code:
    <?php 
    $hote= "localhost"; 
    $base= ""; 
    $user= ""; 
    $pass= ""; 
    
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); 
    mysql_select_db($base) or die ('Erreur :'.mysql_error()); 
    
    $select = "SELECT topic_title,topic_id,topic_replies,topic_poster FROM forum_topics ORDER BY topic_id DESC limit 10"; 
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); 
    
    while($row = mysql_fetch_array($result)) 
    { 
    $topic_id = $row['topic_id']; 
    $user_id = $row['topic_poster'];
    $reponse = $row['topic_replies'];
    $titre = $row['topic_title']; 
    
    $select2 = "SELECT user_id,username FROM forum_users WHERE user_id=$user_id"; 
    $result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() ); 
    
    $row2 = mysql_fetch_array($result2); 
    
    echo 'Par : <a href="/forums/profile_'.$user_id.'.html">'.$row2['username'].'</a> - <a href="/forums/viewtopic_'.$topic_id.'.html"><b>'.$titre.'</b> </a>('.$reponse.')<br>';
    
    } 
    mysql_free_result($result); 
    mysql_close(); 
    ?>
     
  19. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    Alors la je suis gaté ce soir :)

    j'ai modifié ça pour correspondre a mon modele initiale :

    echo '<a href="/forums/viewtopic_'.$topic_id.'.html"><b>'.$titre.'</b> </a> - <b>('.$reponse.' Réponses)</b> - <a href="/forums/profile_'.$user_id.'.html">'.$row2['username'].'</a> <br>';


    en plus le javascript ne donné pas le lien du profile :)

    T'es formidable, faut que le php je m'y mettent aussi :)

    reste plus qu'a modifié les liens pour les rendre compatblie avec l'url rewriting de ohax, mais ça je m'en chargerais car j'ai carrement abusé de ta gentillesse :)

    Esperons que ça aide goolbot a l'indexation du forum car il n'a indexé aucun topic (mais tous les forum oui) :)

    Merci, topic a upé souvent pour les nouveaux :)
     
  20. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Oui après les petites modifications pour les liens c'est pas trop difficile.

    On peut encore faire plein de chose, mais je vous laisse chercher, les bases sont là !

    Au prochain : Afficher réponse ou réponses en fonction du nombre de réponse :D

    Essaye de mettre réponse(s) quand même pour le moment :wink:
     
  21. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    merci moutyk....

    mais je vient de... m'appercevoir d'une petite choses.... :s


    En fait tu a parfaitement mi le script pour afficher les dernier topic avec le pseudo de leurs auteurs c'est cela ?

    car je compare avec le sript javascript, et lui en fait c'était qu'il met les 10 derniers topic avec le nom du dernier posteur, en gros il "up" les topics en fonction des dernieres réponses...



    un vieux topic peut très bien figurer dans les 10 derniers dans ce cas, un peu a la maniere de la collone de droite sur www.playeradvance.org

    tu pense que il suffirais d'un petit changement de variable ou de Order pour faire cette petite babiole ? :)

    Mais toujours est t'il que ton script je le rajouterais en "plus" car c'est très utile néanmoins :)

    thankks ;)
     
  22. nautiljon
    nautiljon WRInaute discret
    Inscrit:
    23 Mars 2005
    Messages:
    204
    J'aime reçus:
    0
    lol bien joué moutyk ^^
    Ton code est bien, reste l'optimisation, ça se fait en une seul requete je pense. Mais tant que ca marche c'est le principal, l'idée dest là!

    Pour le (s) c'est pas bien dur, un petit

    if($reponse) < 1 {echo 'reponse';} else {echo 'reponses';}

    ^^
     
  23. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Avec une jointure surement ? En fait j'utilise pas trop les jointures !
     
  24. nautiljon
    nautiljon WRInaute discret
    Inscrit:
    23 Mars 2005
    Messages:
    204
    J'aime reçus:
    0
    Pour ce que tu veux faire Foxus, dans l'idée il faut récuprer les derniers messages postés avec leur topic lié jusqu'a temps d'arrivé à 10 topics différents. Dans ce cas il faut utiliser une autre table, un peut plus compliquer mais ça doit se faire ^^ allé motivé :p
     
  25. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    arf.. daccord oué lol

    bon ben... ché pas lol, je vais peut etre voir la source du fichier php du mod topicanywhere....
     
  26. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Pour afficher ou non réponse au pluriel :

    Code:
    <?php 
    $hote= "localhost"; 
    $base= ""; 
    $user= ""; 
    $pass= ""; 
    
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); 
    mysql_select_db($base) or die ('Erreur :'.mysql_error()); 
    
    $select = "SELECT topic_title,topic_id,topic_replies,topic_poster FROM phpbb_topics ORDER BY topic_id DESC limit 100"; 
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); 
    
    while($row = mysql_fetch_array($result)) 
    { 
    $topic_id = $row['topic_id']; 
    $user_id = $row['topic_poster'];
    $reponse = $row['topic_replies'];
    $titre = $row['topic_title']; 
    
    $select2 = "SELECT user_id,username FROM phpbb_users WHERE user_id=$user_id"; 
    $result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() ); 
    
    $row2 = mysql_fetch_array($result2); 
    if($reponse <= 1){$nb_rep='réponse';}else{$nb_rep='réponses';}
    echo 'Par : <a href="/forums/profile_'.$user_id.'.html">'.$row2['username'].'</a> - <a href="/forums/viewtopic_'.$topic_id.'.html"><b>'.$titre.'</b> </a>('.$reponse.' '.$nb_rep.')<br>';
    
    } 
    mysql_free_result($result); 
    mysql_close(); 
    ?>
     
  27. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    c'est beau l'evolution en direct ^^

    THANK you :D
     
  28. Foxus
    Foxus WRInaute passionné
    Inscrit:
    9 Janvier 2005
    Messages:
    1 276
    J'aime reçus:
    0
    Voici ce code que je vient d'adapter (derniere evolution) a l'url rewriting de ce mode célébre sur WRI :
    https://www.webrankinfo.com/forum/t/le-libelle-du-titre-dans-lurl-de-votre-forum-phpbb-v2.25745/

    Code:
    <?php
    $hote= "localhost";
    $base= "";
    $user= "";
    $pass= "";
    
    $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($base) or die ('Erreur :'.mysql_error());
    
    $select = "SELECT topic_title,topic_id,topic_replies,topic_poster FROM phpbb_topics ORDER BY topic_id DESC limit 100";
    $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
    
    while($row = mysql_fetch_array($result))
    {
    $topic_id = $row['topic_id'];
    $user_id = $row['topic_poster'];
    $reponse = $row['topic_replies'];
    $titre = $row['topic_title'];
    
    
    $change_space = "-"; 
    
    $url_title = $titre;
    
    
    $url_title = strtolower($url_title); 
    				
    $url_title = strtr($url_title,'áâàäéêèëíîìïóôòöúûùüýçñ','aaaaeeeeiiiioooouuuuycn');
    
    $url_title = preg_replace("/(&gt;|&lt;|&quot;|&amp;)/",$change_space,$url_title);
    
    $url_title = preg_replace("/[^a-z0-9_\-]/",$change_space,$url_title);
    
    $url_title = preg_replace("/[$change_space]+/",$change_space,$url_title);
    
    ($url_title{0} == $change_space ? $url_title = substr($url_title,1) : '' );
    			($url_title{strlen($url_title)-1} == $change_space ? $url_title = substr($url_title,0, strlen($url_title)-1) : '' );
    
    
    
    $select2 = "SELECT user_id,username FROM phpbb_users WHERE user_id=$user_id";
    $result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );
    
    $row2 = mysql_fetch_array($result2);
    if($reponse <= 1){$nb_rep='réponse';}else{$nb_rep='réponses';}
    
    
    echo '<a href="http://forum.monsite.com/'.$topic_id.'_0-'.$url_title.'.html"><b>'.$titre.'</b> </a> - <b>('.$reponse.' '.$nb_rep.')</b> - <a href="http://forum.monsite.com/profile.php?mode=viewprofile&u='.$user_id.'">'.$row2['username'].'</a> <br>';
    
    
    }
    mysql_free_result($result);
    mysql_close();
    ?>
    Y a pas de raisons que je ne vous en fassent pas profiter :)
     
  29. XelNaga
    XelNaga WRInaute discret
    Inscrit:
    24 Juin 2003
    Messages:
    163
    J'aime reçus:
    0
    Moi j'ai toujours la même erreur après modif, je ne comprend pas

    Erreur : Table 'matable_dd.forum_' doesn't exist

    Tu as modifié quoi foxus ?
     
  30. moutyk
    moutyk WRInaute impliqué
    Inscrit:
    1 Mars 2003
    Messages:
    513
    J'aime reçus:
    0
    Salut,

    Donne nous le préfixe des tables de ton forum ...
     
  31. XelNaga
    XelNaga WRInaute discret
    Inscrit:
    24 Juin 2003
    Messages:
    163
    J'aime reçus:
    0
    Voici le nom d'une table :
    xelopolis_phpbb_Topics par exmple

    Voici le résulat quand je place le script :
    Erreur : Table 'xelopolis.phpbb_topics' doesn't exist
     
  32. polweb
    polweb WRInaute accro
    Inscrit:
    18 Octobre 2006
    Messages:
    3 231
    J'aime reçus:
    0
    Merci je me suis inspiré du script :)
     
Chargement...
Similar Threads - Phpbb Recuperer derniers Forum Date
Comment recuperer les derniers messages de phpbb ? Administration d'un site Web 6 Janvier 2004
PHPBB: Recuperer le sujet du post Administration d'un site Web 9 Février 2004
Ne pas mettre à jour forum Phpbb Administration d'un site Web 19 Février 2020
Phpbb et app.php et RSS ? Débuter en référencement 17 Février 2020
Rediriger sujet phpBB3 vers Vanilla 3 URL Rewriting et .htaccess 6 Août 2019
Gérer le passage de forumactif à phpbb Référencement Google 19 Janvier 2019
Probleme forum phpbb seo Développement d'un site Web ou d'une appli mobile 30 Septembre 2018
Quelle solution de forum utiliser pour migration phpbbseo ? Demandes d'avis et de conseils sur vos sites 11 Mars 2018
Problème images en https (forum phpbb) [résolu] Développement d'un site Web ou d'une appli mobile 18 Novembre 2017
Migration forum phpbb vers vanilla 2 URL Rewriting et .htaccess 15 Février 2016
Optimiser le code d'un forum phpbb Problèmes de référencement spécifiques à vos sites 12 Juin 2015
Faire héberger en externe un vieux forum phpBB, possible ? Administration d'un site Web 9 Avril 2015
Spam du Pakistan sur PHpBB Administration d'un site Web 3 Janvier 2015
Autorépondeur et forum phpBB Débuter en référencement 5 Mai 2014
Faire fonctionner une variable phpbb en php Développement d'un site Web ou d'une appli mobile 27 Mars 2014
Système de vote sur forum phpbb Développement d'un site Web ou d'une appli mobile 28 Février 2014
Titre trop long phpbb ? Débuter en référencement 27 Février 2014
Comment dois je configurer la premod phpbbseo pour avoir un très bon référencement Débuter en référencement 30 Novembre 2013
Forum phpBB parfois d'un extreme lenteur Développement d'un site Web ou d'une appli mobile 11 Juillet 2013
Comment installer un popup aweber sur un forum phpbb3 (style:subsylver2) Développement d'un site Web ou d'une appli mobile 7 Janvier 2013