Se connecter / S'enregistrer
Votre question

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

Tags :
  • Root
  • Programmation
Dernière réponse : dans Programmation
2 Septembre 2007 02:07:58

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...

Autres pages sur : php veux afficher nombre limite truques

2 Septembre 2007 17:08:02

une idée possible???
2 Septembre 2007 17:15:44

en faisant une boucle For jusqu'a 5?? je ne m'y connais pas trop donc dsl si ca n'a rien avoir
Contenus similaires
Pas de réponse à votre question ? Demandez !
2 Septembre 2007 17:20:11

Je sais pas si c'est possible mais comment je ferais cette boucle et ou !???
2 Septembre 2007 17:24:09

Je ne connais pas l'ecriture du for en php
Pour i de 1 a $limite Faire
echo "$message"
Fin Pour
2 Septembre 2007 18:31:25

whaa, je suis perdu là, je vais chercher pour la syntaxe de for mais on s'entend que c'Est mon premier script alors c'est compliqué :D 
a c 232 L Programmation
3 Septembre 2007 12:14:32

  1. for($i=0; $i<5; $i++) {
  2. ...
  3. }
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS