Afficher les derniers posts phpBB sur une page quelconque

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par sdamain, 21 Juin 2004.

  1. sdamain
    sdamain WRInaute passionné
    Inscrit:
    14 Octobre 2003
    Messages:
    1 055
    J'aime reçus:
    0
    Bonjour à tous,

    J'aimerais affciher les derniers topics de mon forum PHPBB sur la page d'accueil de mon site (Xoops). Je précise que le forum est complètement indépendant de Xoops, ce n'est pas le module PHPBB qui est utilisé.
    Connaissez vous un bon script/hack pour réaliser ceci?

    Merci.
    Sébastien.
     
  2. Kounte
    Kounte WRInaute impliqué
    Inscrit:
    16 Septembre 2003
    Messages:
    626
    J'aime reçus:
    0
  3. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    moi j'ai créé mon propre script ( pas trop sorcier )

    le voila si ça t'intéresse :

    Code:
    <?php 
    $connection=mysql_connect("xxx","xxx","xxx");
    mysql_select_db("xxx");
    $sql=mysql_query("SELECT post_id,post_subject FROM phpbb_posts_text WHERE post_subject !='' ORDER BY post_id DESC LIMIT 0,10");
    while($result=mysql_fetch_row($sql))
    print '<a href=viewtopic.php?t='.$result[0].' >'.$result[1].'</a><br>';
    ?>
    A+
     
  4. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    au passage pas trop sympa le webmestre de ce site ... il ne répond pas aux messages privés :cry:

    ( même quand on n'accorde pas quelque chose on se doit de répondre toujours aux mail , pour moi c'est une règle ... simple question de savoir vivre ! )

    du coup il est pas prêt de me revoir ( je m'étais inscrit sur son forum ) :evil:

    ( il s'en fout sûrement d'ailleurs mais bon ... )
     
  5. sdamain
    sdamain WRInaute passionné
    Inscrit:
    14 Octobre 2003
    Messages:
    1 055
    J'aime reçus:
    0
    Ok merci j'ai trouve ce qu'il me fallait.
     
  6. milkiway
    milkiway WRInaute accro
    Inscrit:
    3 Février 2004
    Messages:
    4 196
    J'aime reçus:
    0
    super ton script ! tu peux donner un lien vers la page sur laquelle tu l'utilises stp ?
     
  7. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    merci du compliment :lol:

    voila l'adresse

    h**p://forum.netissimmo.net/accueil.php

    pas trop fréquenté pour le moment ... il est tout récent ...

    A+

    Brice
     
  8. sgaze
    sgaze WRInaute occasionnel
    Inscrit:
    2 Février 2004
    Messages:
    452
    J'aime reçus:
    0
    Je fais pareil sur ma page d'accueil sauf que ma requête est un peu différente :

    Code:
    SELECT topic_id, topic_title FROM phpbb_topics
    WHERE topic_status = 0
    ORDER BY topic_time DESC
    LIMIT 10
    
     
  9. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    kif kif :lol:

    A+
     
  10. physyc
    physyc Nouveau WRInaute
    Inscrit:
    24 Avril 2004
    Messages:
    36
    J'aime reçus:
    0
    Vraimant très intéressant 8O et ça marche :p
    Mais comment le modifier pour obtenir le titre des topics des 10 derniers messages :?:

    PS: comme vous l'avez compris, je n'y connais rien en PHP et MySQL :cry:
     
  11. sgaze
    sgaze WRInaute occasionnel
    Inscrit:
    2 Février 2004
    Messages:
    452
    J'aime reçus:
    0
    Au risque d'avoir 10 fois le même titre :? si les 10 derniers messages dépendent du même topic ?
     
  12. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    525
    J'aime reçus:
    0
    Il manquerait plus qu'il réponde aux MPs ....
    Voici le lien vers le mod .
     
  13. physyc
    physyc Nouveau WRInaute
    Inscrit:
    24 Avril 2004
    Messages:
    36
    J'aime reçus:
    0
    Je suis conscient du problème mais le fonctionnement de mon forum me permet de prendre le risque :|

    En fait, je veux mettre en évidence les réponses récentes à des sujets anciens :idea:
    L'idéal serait d'éviter les doublons et donc d'obtenir les 10 topics différents ayant les messages les plus récents.
    Mais c'est sans doute plus compliqué.

    Merci de s'intéresser à mon problème et de me permettre de clarifier mes idées.
     
  14. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    en fait les réponses ont un titre si l'internaute leur en donne un ...

    sinon le champs titre est vide, d'ou WHERE post_subject !='' dans mon script ...

    Est-ce que ça répond à ta question ?

    A+
     
  15. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    Celui de WRI lui répond ! et c'est pour ça que je reste sur ce forum !

    question de principe ... histoire de pas prendre les autres pour de la m...
     
  16. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 081
    J'aime reçus:
    0
    imaginons que chacun des 8000 membres ici envoyent un MP a olivier... chiche :mrgreen:
     
  17. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    tu te moques :roll:

    Sérieusement je dis pas qu'il faille abuser des messages privés mais bon le forum de phpbb il a l'air 100 fois moins fréquenté que celui de WRI alors il pourrrait faire un effort :evil:

    Enfin de toute façon c'est une question de politesse ( désolé je suis peut-être vieux jeu mais pour moi ça veut dire quelque chose )

    Bien cordialement

    Brice
     
  18. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    d'ailleurs dans le genre ... je me souviens t'en avoir envoyé un auquel tu n'as jamais répondu ...

    drôle d'époque :cry:
     
  19. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 081
    J'aime reçus:
    0
    mais non je me moques pas. mais disons que certains webmasters croulent sous la charge et bien sur, on pense remettre la réponse à demain.. et dans l'intervalle, y a d'autres messages urgentissimo qui viennent entre temps, etc.

    prends mon cas par exemple : j'ai très exactement 811 mails a traiter depuis le 05 Juin :mrgreen:

    ... et je suis là, à te répondre, car je préfère l'aspect "rapide" et "ludique" de ce forum par rapport au mail ou au MP...
     
  20. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    bon c'est sûr des fois c'est un peu titanesque comme boulot ...

    Vous êtes absout mon fils :lol:

    A + sur ce forum :wink:
     
  21. physyc
    physyc Nouveau WRInaute
    Inscrit:
    24 Avril 2004
    Messages:
    36
    J'aime reçus:
    0
    J'ai mis du temps à comprendre mais ça y est :idea:

    Code:
    <?php 
    $connection=mysql_connect("xxx","xxx","xxx"); 
    mysql_select_db("xxx"); 
    $sql=mysql_query("SELECT post_id,post_subject FROM phpbb_posts_text WHERE post_subject !='' ORDER BY post_id DESC LIMIT 0,10"); 
    while($result=mysql_fetch_row($sql)) 
    print '<a href=viewtopic.php?t='.$result[0].' >'.$result[1].'</a><br>'; 
    ?>
    En fait le code affiche les 10 derniers messages possédant un titre ...
    Mais je voudrais les 10 derniers messages (avec ou sans titre) avec le titre du topic correspondant (cf message précédent )

    Merci pour l'indication et désolé du retard ...

    Physyc

    PS: j'ai cru voir une petite erreur dans la dernière ligne:
    viewtopic.php?p='.$result[0].' à la place de viewtopic.php?t='.$result[0].'
     
  22. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    non non ça marche comme ça :lol:
     
  23. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    En fait il faudrait faire une requête sur trois tables ( phpbb_topics ; phpbb_posts_text et phpbb_posts ) ...

    ça dépasse un peu mes compétences en sql :cry:

    mais si tu trouves la réponse ça m'intéresse :lol:

    A+
     
  24. physyc
    physyc Nouveau WRInaute
    Inscrit:
    24 Avril 2004
    Messages:
    36
    J'aime reçus:
    0
    Pas chez moi :(
     
  25. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    moi les 2 marchent ...mais je ne saurais te dire pourquoi ...
     
  26. Dr DLP
    Dr DLP WRInaute impliqué
    Inscrit:
    29 Juin 2003
    Messages:
    525
    J'aime reçus:
    0
    Pourquoi chercher plus compliqué ?
     
  27. XenonDelee
    XenonDelee WRInaute impliqué
    Inscrit:
    6 Avril 2004
    Messages:
    778
    J'aime reçus:
    0
    oui au fait !

    merci Dr DLP :lol:
     
  28. MagicManu
    MagicManu WRInaute discret
    Inscrit:
    26 Juin 2004
    Messages:
    76
    J'aime reçus:
    0
    Celui de ma page d'accueil :

    Je l'ai trouvé sur le forum phpBB et je l'ai modifié pour le mettre sous forme d'un tableau avec la date (le format peut être changé), le titre (limité aux 25 premiers caractères) et le posteur.

    Code:
    <?php
    $sql = "SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_last_post_id, f.forum_id, f.forum_name, p.post_time, u.user_id, u.username
           FROM phpbb_topics AS t, phpbb_forums AS f, phpbb_posts AS p, phpbb_users AS u
           WHERE t.forum_id = f.forum_id
           AND f.auth_view < 3 AND f.auth_read < 3      
           AND t.topic_moved_id = 0
           AND p.post_id = t.topic_last_post_id
           AND u.user_id = p.poster_id
    	   AND f.forum_id != 8
           ORDER BY t.topic_last_post_id DESC
           LIMIT 10";
    if( !($result = mysql_query($sql)) )
    {
       echo 'Impossible d\'obtenir les 10 derniers posts.';
    }
    
    while( $ary = mysql_fetch_array($result) )
    {
       $xpostrow[] = $ary;
    }
    
    echo '<table border="0" width="100%">';
    for( $i = 0; $i < count($xpostrow); $i++ )
    {    
       $topic_title = htmlspecialchars(stripslashes($xpostrow[$i]['topic_title']));
       if( strlen($topic_title) > 25 )
       {
          $k = substr($topic_title, 0, 25);
          $pos = strrpos($k, " ");
          $k = substr($k, 0, $pos);
          $topic_title = $k . "...";
       }
       echo '<tr><td width="12%" class="news">' . date('G\Hi', $xpostrow[$i]['post_time']) . '</td>';   
       echo '<td width="53%" class="news"><a href="forums/viewtopic.php?p=' . $xpostrow[$i]['topic_last_post_id'] . '#' . $xpostrow[$i]['topic_last_post_id'] . '">' . $topic_title . '</a></td>';
       echo '<td width="35%" class="news">par <a href="forums/profile.php?mode=viewprofile&amp;u=' . $xpostrow[$i]['user_id'] . '">' . $xpostrow[$i]['username'] . '</a></td></tr>';
    }
    echo '</table>';
    ?>
    J'ai un forum privé ( N°8 ) d'où le "AND f.forum_id != 8" :wink:
     
  29. physyc
    physyc Nouveau WRInaute
    Inscrit:
    24 Avril 2004
    Messages:
    36
    J'aime reçus:
    0
    Merci MagicManu !

    C'est exactement ce que je cherchais :lol:

    Physyc
     
  30. fredsoft
    fredsoft WRInaute discret
    Inscrit:
    26 Janvier 2003
    Messages:
    218
    J'aime reçus:
    0
    SELECT t.*,u.username,f.forum_name FROM phpbb_topics t,phpbb_users u
    LEFT JOIN phpbb_forums f ON f.forum_id=t.forum_id
    WHERE t.topic_poster=u.user_id
    ORDER BY t.topic_time DESC LIMIT 0,50


    la mienne..pour récupérer qq infos en plus sur les posts last..en vue d'un rss complet
     
  31. Grantome
    Grantome WRInaute passionné
    Inscrit:
    16 Janvier 2004
    Messages:
    2 243
    J'aime reçus:
    0
    Salut,

    Code:
    <?php 
    $connection=mysql_connect("xxx","xxx","xxx"); 
    mysql_select_db("xxx"); 
    $sql=mysql_query("SELECT post_id,post_subject FROM phpbb_posts_text WHERE post_subject !='' ORDER BY post_id DESC LIMIT 0,10"); 
    while($result=mysql_fetch_row($sql)) 
    print '<a href=viewtopic.php?t='.$result[0].' >'.$result[1].'</a><br>'; 
    ?>
    Comment limiter le nombre de caractères ?

    J'ai essayé de faire une bidouile avec l'autre script, sans succès.

    Une idée ?
     
  32. fredsoft
    fredsoft WRInaute discret
    Inscrit:
    26 Janvier 2003
    Messages:
    218
    J'aime reçus:
    0
    déja la requette est pas bonne

    topic_last_post_id DESC il faut classe selon ce champ
     
  33. Grantome
    Grantome WRInaute passionné
    Inscrit:
    16 Janvier 2004
    Messages:
    2 243
    J'aime reçus:
    0
    Hummm...

    Euh, en faite, ce script permet d'afficher les 10 derniers message du forum, mais j'aimerais justement ajouter la requête pour limiter le titre affiché à 20 caractère, par exemple.

    Mais aucune idée de la façon dont procéder.
     
  34. WebRankInfo
    WebRankInfo Admin
    Membre du personnel
    Inscrit:
    19 Avril 2002
    Messages:
    20 904
    J'aime reçus:
    848
    essaye en remplaçant
    Code:
    $result[1]
    par
    Code:
    substr($result[1], 0, 20)
    par contre le pb est que tu cherches dans la table des messages alors qu'il faut chercher dans la table des discussions (phpbb_topics)
     
  35. Grantome
    Grantome WRInaute passionné
    Inscrit:
    16 Janvier 2004
    Messages:
    2 243
    J'aime reçus:
    0
    Pfffff... Quel tanche....

    C'est bien ce que j'utilisais, mais pas comme il faut... Je me compliquais la vie.

    Merci ;-)


    Ah me*de...

    Bon, vais y remédier.
     
  36. Grantome
    Grantome WRInaute passionné
    Inscrit:
    16 Janvier 2004
    Messages:
    2 243
    J'aime reçus:
    0
    ...

    Mince...

    Marche pas avec la table phpbb_topics

    Code:
    Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/local/apache/htdocs/sites/x/xxx/index.php on line 101
    V'la le code

    Edit:

    C'est bon tout fonctionne.... erreur de frappe
     
  37. Nico59
    Nico59 Nouveau WRInaute
    Inscrit:
    5 Août 2004
    Messages:
    23
    J'aime reçus:
    0
    Merci pr la requete, c'est niquel !=)
     
  38. XelNaga
    XelNaga WRInaute discret
    Inscrit:
    24 Juin 2003
    Messages:
    163
    J'aime reçus:
    0
    Voila le mien fonctionne presque :

    Code:
    <?php
    $connection=mysql_connect("xxx","xxx","xxx");
    mysql_select_db("xxx");
    $sql=mysql_query("SELECT topic_id, topic_title FROM phpbb_topics WHERE topic_status = 0 ORDER BY topic_time DESC LIMIT 10");
    while($result=mysql_fetch_row($sql))
    print '<a href=/forum/viewtopic.php?t='.$result[0].' ><img src="../templates/temp/img/a.gif" border=0> &nbsp;'.$result[1].'</a><br>';
    ?>
    En effet il y a un problème car ce script ne s'actualise pas, il m'a bien afficher les 10 derniers posts mais quand un nouveau post se crée, l'affichage ne change pas. Comment resoudre le probleme ?
     
  39. Patrice A.
    Patrice A. WRInaute passionné
    Inscrit:
    11 Février 2005
    Messages:
    2 071
    J'aime reçus:
    0
    ton script trie par date de création du sujet.
    Il faut trier par date du dernier message dans le sujet :wink:
     
  40. XelNaga
    XelNaga WRInaute discret
    Inscrit:
    24 Juin 2003
    Messages:
    163
    J'aime reçus:
    0
    Et que dois-je ajouter dans ce cas ?
     
  41. Patrice A.
    Patrice A. WRInaute passionné
    Inscrit:
    11 Février 2005
    Messages:
    2 071
    J'aime reçus:
    0
    à mon avis, dans la table phpbb_topics, il doit y avoir un champ du genre topic_last_post_time, ou alors, un topic_last_post qui te permettra de retrouver le message correspondant et d'utiliser son post_time.
     
  42. cybervince
    cybervince WRInaute impliqué
    Inscrit:
    1 Août 2004
    Messages:
    684
    J'aime reçus:
    0
    J'étais persuadé d'avoir réagi sur ce vieu post mais visiblement non.
    Il y a un mod qui s'appelle TopicsAnywhere qui permet entre autre de générer un flux rss avec les x derniers messages répondant à plein de critères.
    Après y'a plus qu'à parser le RSS (genre avec MagPieRSS)
     
  43. XelNaga
    XelNaga WRInaute discret
    Inscrit:
    24 Juin 2003
    Messages:
    163
    J'aime reçus:
    0
    TopicsAnywhere ne fonctionne pas chez moi, le formulaire est bon mais quand je valide le script n'affiche rien !
     
  44. DARK-V
    DARK-V Nouveau WRInaute
    Inscrit:
    8 Août 2006
    Messages:
    1
    J'aime reçus:
    0
    la requete on la place ou ?désolé...
     
  45. stefko
    stefko Nouveau WRInaute
    Inscrit:
    30 Janvier 2004
    Messages:
    9
    J'aime reçus:
    0
    Merci d'avance ....

    J'ai testé le code il fonctionne super bien, j'aimerais savoir comment faire pour obtenir plus d'infos, en fait j'aimerais pouvoir faire ce qu'il est possible de faire avec "forumactif", exemple du format que j'aimerais pouvoir mettre en place:

    Titre du post
    La date du post - l'heure du post par pseudo du posteur
    Début du post ( 2 ou 3 phrases ) ...
    [Lecture complète ( le lien pour la lecture complète) ]
    Commentaires: 1 :: voir les commentaires (Poster un commentaire)

    Voila je sais pas si c'est compliqué à mettre en place, merci d'avance si vous avez le code pour faire cela.

    Cordialement,

    Stéphane
     
  46. eWeb
    eWeb WRInaute occasionnel
    Inscrit:
    22 Mai 2006
    Messages:
    283
    J'aime reçus:
    0
    Il existe un mod avec ce genre d'options : "topics anywhere".

    Par contre, les liens sont affichés avec un script JavaScript...
     
  47. Sak
    Sak WRInaute discret
    Inscrit:
    3 Mai 2003
    Messages:
    73
    J'aime reçus:
    0
    Merci pour ce script qui marche impeccablement sur mon site http://www.soninkara.org. C'est vrai que topic anywhere permet d'exporter du flus RSS qu'il suffit de parser, mais je préfère ce scripts très léger et configurable.
    Merci à tous.
    Code:
    <?php
    $connection=mysql_connect("localhost","userr_database","mot_de_passe");
    mysql_select_db("database");
    $sql = "SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_last_post_id, f.forum_id, f.forum_name, p.post_time, u.user_id, u.username
           FROM phpbb_topics AS t, phpbb_forums AS f, phpbb_posts AS p, phpbb_users AS u
           WHERE t.forum_id = f.forum_id
           AND f.auth_view < 3 AND f.auth_read < 3     
           AND t.topic_moved_id = 0
           AND p.post_id = t.topic_last_post_id
           AND u.user_id = p.poster_id
          AND f.forum_id != 8
           ORDER BY t.topic_last_post_id DESC
           LIMIT 10";
    if( !($result = mysql_query($sql)) )
    {
       echo 'Impossible d\'obtenir les 10 derniers posts sur le forum soninké de soninkara.';
    }
    
    while( $ary = mysql_fetch_array($result) )
    {
       $xpostrow[] = $ary;
    }
    
    echo '<table border="0" width="100%">';
    for( $i = 0; $i < count($xpostrow); $i++ )
    {   
       $topic_title = htmlspecialchars(stripslashes($xpostrow[$i]['topic_title']));
       if( strlen($topic_title) > 40 )
       {
          $k = substr($topic_title, 0, 40);
          $pos = strrpos($k, " ");
          $k = substr($k, 0, $pos);
          $topic_title = $k . "...";
       }
       echo '<tr><td width="15%">' . date('d-m-Y', $xpostrow[$i]['post_time']) . '</td>';   
       echo '<td width="60%"><a class="navigation" href="forum/viewtopic.php?p=' . $xpostrow[$i]['topic_last_post_id'] . '#' . $xpostrow[$i]['topic_last_post_id'] . '">' . $topic_title . '</a></td>';
       echo '<td width="3%">Par</td>';
       echo '<td width="22%" align="right"><a class="navigation2" href="forum/profile.php?mode=viewprofile&amp;u=' . $xpostrow[$i]['user_id'] . '">' . $xpostrow[$i]['username'] . '</a></td></tr>';
    }
    echo '</table>';
    ?>
     
  48. dobrazil
    dobrazil Nouveau WRInaute
    Inscrit:
    19 Octobre 2006
    Messages:
    4
    J'aime reçus:
    0
    Salut à tous,

    j'ai un soucy, après avoir mis ce script sur ma page, cela m'affiche qu'il est impossible d'afficher les 10 derniers messages en me ramenant à la ligne:

    Code:
    while( $ary = mysql_fetch_array($result) )
    d'où peut venir le problème?

    Merci d'avance
     
  49. ghassen
    ghassen Nouveau WRInaute
    Inscrit:
    28 Août 2005
    Messages:
    3
    J'aime reçus:
    0
  50. lothar
    lothar WRInaute passionné
    Inscrit:
    12 Juillet 2003
    Messages:
    1 076
    J'aime reçus:
    0
    Bonsoir,

    quelle serait la requête à effectuer pour afficher les derniers sujets mis à jour ?

    C'est-à-dire afficher l'url du sujet et non du dernier post, comme sur la home de WRI ?

    Merci
     
  51. Patrice A.
    Patrice A. WRInaute passionné
    Inscrit:
    11 Février 2005
    Messages:
    2 071
    J'aime reçus:
    0
    La requete est la meme, mais au lieu de faire des liens en utilisant le last_post_id tu crées des liens en utilisant le topic_id.
     
  52. lothar
    lothar WRInaute passionné
    Inscrit:
    12 Juillet 2003
    Messages:
    1 076
    J'aime reçus:
    0
    Oui en fait c'est ce que j'avais déjà fait, mais ça n'affichait que les derniers sujets créés.

    En rajoutant le topic_last_post_id, ça fonctionne bien, merci !
     
  53. easy_zik
    easy_zik WRInaute occasionnel
    Inscrit:
    7 Juillet 2003
    Messages:
    375
    J'aime reçus:
    0
    Elles sont bien belles vos requêtes, mais vous avez un peu oublié la chose la plus importante : METTRE EN CACHE LE RESULTAT.

    Parceque le jour ou vous aurez des messages dans vos forums (imaginez un site comme WRI...) et ben vous allez comprendre votre malheur...
    Votre serveur ne resistera pas à une requète si gourmande en ressource avec des ORDER BY et des jointures partout.

    voila voila...
     
  54. lothar
    lothar WRInaute passionné
    Inscrit:
    12 Juillet 2003
    Messages:
    1 076
    J'aime reçus:
    0
    TU trouves que c'est une grosse requête:

    Code:
    SELECT topic_id, topic_title, last_post_id FROM phpbb_topics
    WHERE topic_status = 0 AND forum_id !=14 AND forum_id != 13 AND forum_id != 22
    ORDER BY last_post_id DESC LIMIT 20 
     
  55. easy_zik
    easy_zik WRInaute occasionnel
    Inscrit:
    7 Juillet 2003
    Messages:
    375
    J'aime reçus:
    0
    OUI !

    Parceque le jour ou tu auras 50.000 messages dans ton forum (regarde combien il y en a sur WRI par exemple...) ta requète prendra beaucoup de temps à s'executer.
    Tu n'as aucun moyen d'indexer pour une recherche rapide (sur la date du dernier message j'entends)
    Donc SQL va passer en revue tes 50.000 entrées sans exeption, faire tes jointures (heureusement basés sur des clés primaires), et les trier avec un ORDER BY...

    Si tu trouves que ca s'appèle une requête simple, faut revoir ton SQL..

    Bien sûr il y a plus compliqué.... (GROUP BY et compagnie) mais c'est déja bien assez.
     
  56. lothar
    lothar WRInaute passionné
    Inscrit:
    12 Juillet 2003
    Messages:
    1 076
    J'aime reçus:
    0
    Je n'ai aucune connaissance en SQL, c'est une question que je posais. En l'occurrence il y a plus de 100 000 messages sur mon forum.

    Comment faire pour améliorer cette requête et stocker le résultat en cache ?
     
  57. Patrice A.
    Patrice A. WRInaute passionné
    Inscrit:
    11 Février 2005
    Messages:
    2 071
    J'aime reçus:
    0
  58. ecomike
    ecomike Nouveau WRInaute
    Inscrit:
    13 Août 2007
    Messages:
    5
    J'aime reçus:
    0
    Comment afficher les titres + text des derniers post ?

    J'ai testé le script ci dessous mail il n'affiche que les titres du post ... Comment faire pour afficher également les premieres lignes du post ???

    <?php
    $connection=mysql_connect("**","**","**");
    mysql_select_db("credit_online");
    $sql = "SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_last_post_id, f.forum_id, f.forum_name, p.post_time, u.user_id, u.username
    FROM phpbb_topics AS t, phpbb_forums AS f, phpbb_posts AS p, phpbb_users AS u
    WHERE t.forum_id = f.forum_id
    AND f.auth_view < 3 AND f.auth_read < 3
    AND t.topic_moved_id = 0
    AND p.post_id = t.topic_last_post_id
    AND u.user_id = p.poster_id
    AND f.forum_id != 8
    ORDER BY t.topic_last_post_id DESC
    LIMIT 4";
    if( !($result = mysql_query($sql)) )
    {
    echo 'Impossible d\'obtenir les 10 derniers posts sur le forum crédit-online';
    }

    while( $ary = mysql_fetch_array($result) )
    {
    $xpostrow[] = $ary;
    }

    echo '<table border="0" width="100%">';
    for( $i = 0; $i < count($xpostrow); $i++ )
    {
    $topic_title = htmlspecialchars(stripslashes($xpostrow[$i]['topic_title']));
    if( strlen($topic_title) > 100 )
    {
    $k = substr($topic_title, 0, 100);
    $pos = strrpos($k, " ");
    $k = substr($k, 0, $pos);
    $topic_title = $k . "...";
    }
    echo '<tr><td width="15%">' . date('d-m-Y', $xpostrow[$i]['post_time']) . '</td>';
    echo '<td width="85%"><a href="forum/viewtopic.php?p=' . $xpostrow[$i]['topic_id'] . '#' . $xpostrow[$i]['topic_id'] . '">' . $topic_title . '</a></td></tr>';

    }
    echo '</table>';
    ?>
     
  59. mahefarivony
    mahefarivony WRInaute accro
    Inscrit:
    14 Octobre 2002
    Messages:
    8 081
    J'aime reçus:
    0
    t'as l'habitude de laisser tes login et tes mots de passe en clair sur le web comme ça ?
     
  60. dmathieu
    dmathieu WRInaute accro
    Inscrit:
    9 Janvier 2004
    Messages:
    5 596
    J'aime reçus:
    0
    Login & pass remplacés par des *.
     
  61. ecomike
    ecomike Nouveau WRInaute
    Inscrit:
    13 Août 2007
    Messages:
    5
    J'aime reçus:
    0
    OUPS ....
    Merci pour les ***
     
  62. jeanfrancoisjeff
    jeanfrancoisjeff Nouveau WRInaute
    Inscrit:
    16 Octobre 2007
    Messages:
    2
    J'aime reçus:
    0
    Quelqu'un peut-il me dire ou renseigner les paramètres de mon forum pour afficher ce script ?
    Merci par avance.
     
  63. fireman_118
    fireman_118 Nouveau WRInaute
    Inscrit:
    16 Mars 2008
    Messages:
    1
    J'aime reçus:
    0
    Bonjour !

    Je suis sur la nouvelle version PHPBB3. J'ai un problème avec le script ci-dessous :
    Code:
        <?php
        $connection=mysql_connect("localhost","userr_database","mot_de_passe");
        mysql_select_db("database");
        $sql = "SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_last_post_id, f.forum_id, f.forum_name, p.post_time, u.user_id, u.username
               FROM phpbb_topics AS t, phpbb_forums AS f, phpbb_posts AS p, phpbb_users AS u
               WHERE t.forum_id = f.forum_id
               AND f.auth_view < 3 AND f.auth_read < 3     
               AND t.topic_moved_id = 0
               AND p.post_id = t.topic_last_post_id
               AND u.user_id = p.poster_id
              AND f.forum_id != 8
               ORDER BY t.topic_last_post_id DESC
               LIMIT 10";
        if( !($result = mysql_query($sql)) )
        {
           echo 'Impossible d\'obtenir les 10 derniers posts sur le forum.';
        }
    
        while( $ary = mysql_fetch_array($result) )
        {
           $xpostrow[] = $ary;
        }
    
        echo '<table border="0" width="100%">';
        for( $i = 0; $i < count($xpostrow); $i++ )
        {   
           $topic_title = htmlspecialchars(stripslashes($xpostrow[$i]['topic_title']));
           if( strlen($topic_title) > 40 )
           {
              $k = substr($topic_title, 0, 40);
              $pos = strrpos($k, " ");
              $k = substr($k, 0, $pos);
              $topic_title = $k . "...";
           }
           echo '<tr><td width="15%">' . date('d-m-Y', $xpostrow[$i]['post_time']) . '</td>';   
           echo '<td width="60%"><a class="navigation" href="forum/viewtopic.php?p=' . $xpostrow[$i]['topic_last_post_id'] . '#' . $xpostrow[$i]['topic_last_post_id'] . '">' . $topic_title . '</a></td>';
           echo '<td width="3%">Par</td>';
           echo '<td width="22%" align="right"><a class="navigation2" href="forum/profile.php?mode=viewprofile&amp;u=' . $xpostrow[$i]['user_id'] . '">' . $xpostrow[$i]['username'] . '</a></td></tr>';
        }
        echo '</table>';
        ?>
    
    En effet, j'ai toujours l'erreur
    Code:
    Impossible d'obtenir les 10 derniers posts sur le forum.
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/www/b0fee69f9538a80d8f7b5e0f8b2c7bf9/web/news.php on line 27
    Unknown column 'f.auth_view' in 'where clause'
    Quelqu'un peu m'aider ?

    Merci d'avance.
     
  64. keitboor
    keitboor WRInaute occasionnel
    Inscrit:
    19 Juillet 2004
    Messages:
    268
    J'aime reçus:
    0
    Ton champ auth_view dans la table phpbb_forums existe bien ?
     
  65. diego
    diego Nouveau WRInaute
    Inscrit:
    27 Janvier 2005
    Messages:
    29
    J'aime reçus:
    0
    Salut j'ai installé phpbbseo sur mon forum et je ne sais pas comment modifier le code suivant pour que cela marche, une idée?
    Code:
    <?php 
    $connection=mysql_connect("xxx","xxx","xxx");
    mysql_select_db("xxx");
    $sql=mysql_query("SELECT post_id,post_subject FROM phpbb_posts_text WHERE post_subject !='' ORDER BY post_id DESC LIMIT 0,10");
    while($result=mysql_fetch_row($sql))
    print '<a href=viewtopic.php?t='.$result[0].' >'.$result[1].'</a><br>';
    ?>
    le htaccess :
    Code:
    RewriteRule ^forum-stars-nues/annonces/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /forum-stars-nues/viewtopic.php?t=$2&start=$4 [QSA,L,NC]
    # TOPIC WITHOUT FORUM ID & DELIM ALL MODES
    RewriteRule ^forum-stars-nues/([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /forum-stars-nues/viewtopic.php?forum_uri=$1&t=$3&start=$5 [QSA,L,NC]
     
Chargement...
Similar Threads - Afficher derniers posts Forum Date
Afficher les derniers posts d'un forum phpbb rewrité Administration d'un site Web 17 Novembre 2006
Script en php pour afficher les 10 derniers posts d'un forum Administration d'un site Web 5 Juillet 2004
Afficher les derniers commentaires sur pages d'accueil Développement d'un site Web ou d'une appli mobile 31 Mars 2012
MYSQL : afficher les 75 derniers commentaires ASC Développement d'un site Web ou d'une appli mobile 13 Juin 2011
PhpBB3 : afficher les derniers messges du forum sur son site (solution inside) Développement d'un site Web ou d'une appli mobile 16 Avril 2010
Afficher les derniers articles Wordpress Développement d'un site Web ou d'une appli mobile 17 Décembre 2008
Script "Afficher derniers articles" Développement d'un site Web ou d'une appli mobile 30 Mai 2007
PHPBB Afficher les derniers messages d'un forum Développement d'un site Web ou d'une appli mobile 18 Novembre 2006
afficher les derniers sujets de webrankinfo sur son website Développement d'un site Web ou d'une appli mobile 11 Juin 2006
PHPBB-> Afficher les derniers messages d'un forum Développement d'un site Web ou d'une appli mobile 28 Mai 2006
Afficher les derniers message d'un forum sur son site Développement d'un site Web ou d'une appli mobile 6 Décembre 2005
[phpbb] script pour afficher les derniers topic sur l'indexe URL Rewriting et .htaccess 7 Octobre 2005
Afficher les derniers messages de mon phpbb sur mon index Problèmes de référencement spécifiques à vos sites 5 Octobre 2005
SPIP - comment afficher les derniers articles Administration d'un site Web 12 Juillet 2005
Afficher les derniers messages du Forum phpbb Administration d'un site Web 3 Mai 2005
Phpbb afficher les derniers sujets Administration d'un site Web 28 Janvier 2005
Afficher des infos depuis plusieurs page en PHP Développement d'un site Web ou d'une appli mobile 23 Mars 2022
Afficher la dernière version d'un fichier php ? Développement d'un site Web ou d'une appli mobile 8 Novembre 2021
comment afficher l erreur 404 URL Rewriting et .htaccess 28 Juillet 2021
Devra-t-on afficher les émissions de gaz à effet de serre de nos sites? Droit du web (juridique, fiscalité...) 28 Mars 2021