Tom's Guide > Forum > Programmation > [PHP] Je veux afficher un nombre limité de truques.

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

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

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

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.

une idée possible???

------------------------------ Hello
Répondre à black-stone

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 :)
Répondre à LovelyComplex

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

------------------------------ Hello
Répondre à black-stone

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 :)
Répondre à LovelyComplex

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
Répondre à black-stone
- 0 +

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

Répondre à OmaR
Tom's Guide > Forum > Programmation > [PHP] Je veux afficher un nombre limité de truques.
Aller à :

Il y a 427 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens