Tom's Guide > Forum > Programmation > Les messages du forum en page d'accueil
Mot :    Pseudo :           
 

Salut j'ai creer un forum, et j'aimerais savoir comment mettre les dernier message du forum, en tant ke news sur une autre page, pour que ca se face automatiquement...
merci d'avance: pour tester voici mon forum :
G-Club
++

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Il faut que tu fasse un script PHP-mySQL qui va recuperer les derniers posts de ton forum a partir de ta base de donnée et qui les affiches après...
Si tu connais le PHP, il n'y a rien de compiqué...
Si tu ne connais pas, laisse tomber, c'est un peu trop complexe...

Répondre à zorro@IDN

bon voila par exemple ce que ca peu donner (tester avec phpbb 2.0.8 mais peut marcher p-e pour ta version)

<?

define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);

$link = mysql_connect('localhost','root','pass');
mysql_select_db('phpbb');
$affichage="4";

$select = 'SELECT count(post_id) FROM phpbb_posts_text';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
$select = "SELECT post_text,post_subject FROM phpbb_posts_text ORDER BY post_id DESC LIMIT 4";
$lien = mysql_query($select,$link) or die ('Error: '.mysql_error() );
if($total)
{
echo'<table border="1">';

while($row = mysql_fetch_array($lien))
{
$message = smilies_pass($row['post_text']);
echo"
<tr>
<td>sujet: $row[post_subject]</td>
</tr>
<tr>
<td>message: $message</td>
</tr>";
}
echo"</table>";
}
else
{
echo"pas d'enregistrement dans cette table";
}
?>

bon tu adapte le design et tu peux amelioré le truc si tu connais quelque base la c vite fait

Répondre à Zer0@IDN

petites pressisions.
phpbb_posts_text doit p-e etre changer si tu n'as pas utilisé le prefiche des tables par defaut.
$affichage c'est le nb de post que tu veux afficher.

Répondre à Zer0@IDN

heu voila j'ai édité mon code parce que j'avai pas séléctioner les derniers post la ca doit marcher.
J'y pense aussi p-e que sur le site de phpbb il y a un module tout pret va voir on sais jamais ;-)

Répondre à Zer0@IDN

Merci pour votre aide, c sympa...

Répondre à dedooz

voila une petite mise a jour lol

<?
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
$link = mysql_connect('localhost','root','pass');
mysql_select_db('phpbb');
$affichage="5";

$slq = "SELECT post_text,post_subject FROM phpbb_posts_text LIMIT 4";

$select = 'SELECT count(post_id) FROM phpbb_posts_text';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
$select = "SELECT post_text,post_subject,post_id FROM phpbb_posts_text ORDER BY post_id DESC LIMIT $affichage";
$lien = mysql_query($select,$link) or die ('Error: '.mysql_error() );
if($total)
{
echo'<table border="1">';

while($row = mysql_fetch_array($lien))
{
$message = smilies_pass($row['post_text']);

echo"
<tr>
<td>sujet: <a href='viewtopic.php?t=$row[post_id]'>$row[post_subject]</a></td>
</tr>
<tr>
<td>message: $message</td>
</tr>";
}
echo"</table>";
}
else
{
echo"pas d'enregistrement dans cette table";
}
?>

tien moi au courant stp.

Répondre à Zer0@IDN

merci ca bug mais aps grave, mais comment je fait si je veux afficher les messages que d'une seule rubrique du forum et non, tous les dernier messages ?
merci d'avance...

Répondre à dedooz

c'est quoi qui bug?? je reflechi à ta nouvelle demande en attendent

Répondre à Zer0@IDN

bon voila ce que j'ai trouvé c'est pas très optimisé car les jointure fonctione pas entre les tables dont on a besoin

<?
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);
//parametre de conexion à mysql
$link = mysql_connect('host','user','pass');
//nom de ta base de données
mysql_select_db('bd');
//le nombre de messages à afficher
$affichage="5";
//le numero de ton sujet
$topic='1';
//touche plus sauf si tu as pas mit comme prefixe de table phpbb_

$select = 'SELECT count(post_id) FROM phpbb_posts_text';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
$select = "SELECT post_id,forum_id FROM phpbb_posts WHERE topic_id = '$topic' ORDER BY post_id DESC LIMIT $affichage";
$lien = mysql_query($select,$link) or die ('Error: '.mysql_error() );
if($total)
{
echo'<table border="1">';

while($row = mysql_fetch_array($lien))
{
$sql = "SELECT post_text FROM phpbb_posts_text WHERE post_id = '$row[post_id]'";
$result = mysql_query($sql,$link);
$message = mysql_result($result,0);

$sql = "SELECT post_subject FROM phpbb_posts_text WHERE post_id = '$row[post_id]'";
$result = mysql_query($sql,$link);
$sujet = mysql_result($result,0);

$sql = "SELECT forum_name FROM phpbb_forums WHERE forum_id = '$row[forum_id]'";
$result = mysql_query($sql,$link);
$forumname = mysql_result($result,0);

$message = smilies_pass($message);
echo"
<tr>
<td>forum: <a href='viewforum.php?f=$row[forum_id]'>$forumname</a></td>
</tr>
<tr>
<td>sujet: <a href='viewtopic.php?t=$topic'>$sujet</a> </td>
</tr>
<tr>
<td>message: $message</td>
</tr>";
}
echo"</table>";
}
else
{
echo"pas d'enregistrement dans cette table";
}
?>
mais si tu me dit pas quel est le bug je ca rique de buger encore

Répondre à Zer0@IDN

voila le bug, il continu :
Warning: main(./extension.inc): failed to open stream: No such file or directory in f:\site\yep.php on line 4

Warning: main(): Failed opening './extension.inc' for inclusion (include_path='.;d:\Program Files\EasyPHP1-7\php\pear\') in f:\site\yep.php on line 4

Warning: main(./common.): failed to open stream: No such file or directory in f:\site\yep.php on line 5

Warning: main(): Failed opening './common.' for inclusion (include_path='.;d:\Program Files\EasyPHP1-7\php\pear\') in f:\site\yep.php on line 5

Warning: main(./includes/bbcode.): failed to open stream: No such file or directory in f:\site\yep.php on line 6

Warning: main(): Failed opening './includes/bbcode.' for inclusion (include_path='.;d:\Program Files\EasyPHP1-7\php\pear\') in f:\site\yep.php on line 6
Merci...

Répondre à dedooz

heu tu l'as mit où le code. Il faut le mettre dans le meme dossier que celui de phpbb.
envoi moi ta version p-e que la basse de donnée a été modifiée.

Répondre à Zer0@IDN
Tom's Guide > Forum > Programmation > Les messages du forum en page d'accueil
Aller à :

Il y a 2363 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