Se connecter avec
S'enregistrer | Connectez-vous

[PHP] Je veux afficher un nombre limité de truques.

Dernière réponse : dans Programmation

Salut, j'ai commancé un petit script php qui consiste a prendre les posts d'un certain forum, sois "news", et prendre le premier post de chaque topic comme news.

prêtez attention aux commentaires...
  1. <?php
  2.  
  3. //.:Début du script:.
  4.  
  5. //Fichiers de phpbb
  6. define('IN_PHPBB', true);
  7. $phpbb_root_path = './Forum/';
  8. include($phpbb_root_path . 'extension.inc');
  9. include($phpbb_root_path . 'common.'.$phpEx);
  10. include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
  11.  
  12. //Configuration
  13. include ('connect.php'); //j'allais tout de même pas vous montrer le mot de passe de ma database :P
  14. $limite="5"; //Nombre de messages affiché
  15. $forum_id='5'; //ID du forum
  16.  
  17. //Corp du script (ici, j'ai eu beaucoup d'aide d'un ami qui a finalement laissé tonbé)
  18. $select = 'SELECT count(post_id) FROM phpbb_posts_text';
  19. $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
  20. $row = mysql_fetch_row($result);
  21. $total = $row[0];
  22. $select = "SELECT post_id,poster_id,forum_id,topic_id,post_time FROM phpbb_posts WHERE forum_id = '$forum_id' ORDER BY post_time DESC LIMIT $limite"; // Je vais devoir appliquer la limite ailleurs ou si non, un commentair va compter comme une news
  23. $lien = mysql_query($select,$link) or die ('Error: '.mysql_error() );
  24. if($total)
  25. {
  26. while($row = mysql_fetch_array($lien))
  27. {
  28. $sql = "SELECT post_text FROM phpbb_posts_text WHERE post_id = '$row[post_id]'";
  29. $result = mysql_query($sql,$link);
  30. $message = mysql_result($result,0);
  31. $message = htmlentities($message);
  32.  
  33. $sql = "SELECT post_subject FROM phpbb_posts_text WHERE post_id = '$row[post_id]'";
  34. $result = mysql_query($sql,$link);
  35. $sujet = mysql_result($result,0);
  36. $sujet = htmlentities($sujet);
  37.  
  38. $sql = "SELECT username FROM phpbb_users WHERE user_id = '$row[poster_id]'";
  39. $result = mysql_query($sql,$link);
  40. $username = mysql_result($result,0);
  41. $username = htmlentities($username);
  42. $time = date("D d M Y H:i",$row['post_time']); //ici, j'aimerais bien l'avoir en francais
  43.  
  44.  
  45. $message = smilies_pass($message); //parser les smilies.. ***Ici, les images des smilies ne s'affiche pas :( [Edit2]Ca fonctionne mais je dois copier le répertoire des smilies dans mon root.
  46. $message = make_clickable($message); //je sais pas trop à quoi ca sert mais il semblerais que je dois l'utiliser...
  47. $message = nl2br($message); //même chose ici
  48.  
  49. //Voiçi ce que j'ai essayé avec un peu d'aide mais pas de chances.
  50. $message = stripslashes($message);
  51. $message = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $message);
  52. $message = preg_replace('#\[u\](.+)\[/u\]#isU', '<u>$1</u>', $message);
  53. $message = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message);
  54. $message = preg_replace('#\[color=(.+)\](.+)\[/color\]#isU', '<font color="$1">$2</font>', $message);
  55. $message = preg_replace('#http://[-a-z0-9._/-\?=]+#i', '<a href="$0">$0</a>', $message);
  56. $message = preg_replace('#\[quote=(.+)\](.+)\[/quote\]#isU', '$1 a dit :(<blockquote>$2</blockquote>',$message);
  57.  
  58. //---Affichage
  59. if($sujet != '') //[EDIT3] J'ai ajouté ceci pour masquer les commentaires (j'ai remarqué que cette entré était vide pour le 2ième post et plus)
  60. {
  61.  
  62. echo
  63. "
  64. <h1>$sujet</h1>
  65. <p>Rédigé par $username le $time</p>
  66. <p>$message</p>
  67. <a href='/forum/viewtopic.php?t=$row[topic_id]'>Commentaires</a> ($nbcomments)
  68. ";
  69. }
  70. }
  71. }
  72. else
  73. {
  74. echo"Forum vide...";
  75. }
  76.  
  77. ?>


je voudrais changer la limite mais je suis sur le point de me perdre.
étant donné que c'est un script de news, je ne veux pas afficher les commentaires mais les commentaires sont comté dans la limite effectué au début. en gros, pour tout vous simplifier, regardez ici:

  1. while($row = mysql_fetch_array($lien))
  2. {
  3. $sql = "SELECT post_text FROM phpbb_posts_text WHERE post_id = '$row[post_id]'";
  4. $result = mysql_query($sql,$link);
  5. $message = mysql_result($result,0);
  6. $message = htmlentities($message);
  7.  
  8. echo "<p>$message</p>" //Je veux que le message s'affiche 5fois, mais comment
  9. }


Page d'exemple: http://bktest.kicks-ass.net/
Vous pouvez aussi consulter mon post sur sdz (plus complet)
http://www.siteduzero.com/forum-83-189333-1687137-mon-p...
Lassé par la pub ? Créez un compte
Lassé par la pub ? Créez un compte
Tom's guide dans le monde