[PHP] Je veux afficher un nombre limité de truques. - Programmation
TomsGuide.com : 700 000 inscrits répondent à toutes vos questions high-tech et informatique.
Pour obtenir de l'aide, inscrivez-vous gratuitement !
 




Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : [PHP] Je veux afficher un nombre limité de truques.
 
Guns don't kill people, I do!
Profil : IDNaute
Plus d'informations

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

Code :
  1. <?php
  2. //.:Début du script:.
  3. //Fichiers de phpbb
  4. define('IN_PHPBB', true);
  5. $phpbb_root_path = './Forum/';
  6. include($phpbb_root_path . 'extension.inc');
  7. include($phpbb_root_path . 'common.'.$phpEx);
  8. include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
  9. //Configuration
  10. include ('connect.php'); //j'allais tout de même pas vous montrer le mot de passe de ma database :P
  11. $limite="5"; //Nombre de messages affiché
  12. $forum_id='5'; //ID du forum
  13. //Corp du script (ici, j'ai eu beaucoup d'aide d'un ami qui a finalement laissé tonbé)
  14. $select = 'SELECT count(post_id) FROM phpbb_posts_text';
  15. $result = mysql_query($select,$link)  or die ('Erreur : '.mysql_error() );
  16. $row = mysql_fetch_row($result);
  17. $total = $row[0];
  18. $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
  19. $lien = mysql_query($select,$link) or die ('Error: '.mysql_error() );
  20. if($total)
  21. {
  22.         while($row = mysql_fetch_array($lien))
  23.         {
  24.                 $sql = "SELECT post_text FROM phpbb_posts_text WHERE post_id = '$row[post_id]'";
  25.                 $result = mysql_query($sql,$link);
  26.                 $message = mysql_result($result,0);
  27.                 $message = htmlentities($message);
  28.                 $sql = "SELECT post_subject FROM phpbb_posts_text WHERE post_id = '$row[post_id]'";
  29.                 $result = mysql_query($sql,$link);
  30.                 $sujet = mysql_result($result,0);
  31.                 $sujet = htmlentities($sujet);
  32.                 $sql = "SELECT username FROM phpbb_users WHERE user_id = '$row[poster_id]'";
  33.                 $result = mysql_query($sql,$link);
  34.                 $username = mysql_result($result,0);
  35.                 $username = htmlentities($username);
  36.                 $time = date("D d M Y H:i",$row['post_time']); //ici, j'aimerais bien l'avoir en francais
  37.                
  38.                 $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.
  39.                 $message = make_clickable($message); //je sais pas trop à quoi ca sert mais il semblerais que je dois l'utiliser...
  40.                 $message = nl2br($message); //même chose ici
  41.              
  42.                 //Voiçi ce que j'ai essayé avec un peu d'aide mais pas de chances.
  43.                 $message = stripslashes($message);
  44.                 $message = preg_replace('#\[b\](.+)\[/b\]#isU', '<strong>$1</strong>', $message);
  45.                 $message = preg_replace('#\[u\](.+)\[/u\]#isU', '<u>$1</u>', $message);
  46.                 $message = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message);
  47.                 $message = preg_replace('#\[color=(.+)\](.+)\[/color\]#isU', '<font color="$1">$2</font>', $message);
  48.                 $message = preg_replace('#http://[-a-z0-9._/-\?=]+#i', '<a href="$0">$0</a>', $message);
  49.                 $message = preg_replace('#\[quote=(.+)\](.+)\[/quote\]#isU', '$1 a dit :(<blockquote>$2</blockquote>',$message);
  50.              
  51. //---Affichage
  52.                 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)
  53.                 {
  54.                 echo
  55.                 "
  56.                 <h1>$sujet</h1>
  57.                 <p>R&eacute;dig&eacute; par $username le $time</p>
  58.                 <p>$message</p>
  59.                 <a href='/forum/viewtopic.php?t=$row[topic_id]'>Commentaires</a> ($nbcomments)
  60.                 ";
  61.                 }
  62.         }
  63. }
  64. else
  65. {
  66.         echo"Forum vide...";
  67. }
  68. ?>



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:

Code :
  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.               echo "<p>$message</p>" //Je veux que le message s'affiche 5fois, mais comment
  8. }



Page d'exemple: http://bktest.kicks-ass.net/
Vous pouvez aussi consulter mon post sur sdz (plus complet)
http://www.siteduzero.com/forum-83 [...] l#r1687137


---------------
Hello
Liens sponsorisés


Inscrivez-vous ou connectez-vous pour masquer ceci.

Guns don't kill people, I do!
Profil : IDNaute
Plus d'informations

une idée possible???


---------------
Hello
Ché pas c'est nin evident
Profil : IDNaute
Plus d'informations

en faisant une boucle For jusqu'a 5?? je ne m'y connais pas trop donc dsl si ca n'a rien avoir


---------------
Un problème, j'arrive :)
Guns don't kill people, I do!
Profil : IDNaute
Plus d'informations

Je sais pas si c'est possible mais comment je ferais cette boucle et ou !???


---------------
Hello
Ché pas c'est nin evident
Profil : IDNaute
Plus d'informations

Je ne connais pas l'ecriture du for en php
Pour i de 1 a $limite Faire
echo "$message"
Fin Pour


---------------
Un problème, j'arrive :)
Guns don't kill people, I do!
Profil : IDNaute
Plus d'informations

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


---------------
Hello
Profil : Extensionaute
Plus d'informations

Code :
  1. for($i=0; $i<5; $i++) {
  2. ...
  3. }


---------------
/!\ Le vaincrez-vous ?! /!\

  FORUM Infos-du-Net » Programmation » [PHP] Je veux afficher un nombre limité de truques.

Aller à :
 

Liens