Je viens juste de m'inscrire, et, étant débutant, j'ai eu l'aide de quelqu'un de plus expérimenté que moi pour un script des affichages des derniers posts ... Cependant, j'aimerai ajouter en dessous de "plus de messages " les utilisateurs connectés dans leurs couleurs respectives ... Alors, j'ai le code pour afficher les posts, et d'un autre coté j'ai le code pour les couleurs, mais j'aimerai de l'aide pour fusionner les deux parties...
Enfin, si ce n'est pas trop abuser de votre temps, j'aimerai également qu'il soit indiqué derrière chaque titre le nombre de réponses au topic (par exemple :
Message posté à 10:13 par ibanson
les ampli et effets de Steve Vai... (3 réponses)
Vous voyez ?
alors comme je suis débutant en php et que j'essaie de comprendre, je vous envoie les différents codes sources pour que vous puissiez voir un peu ou ca en est pour le moment ... J'espère que ca en intéressera d'autres que moi !
Alors on commence avec le code pour afficher les x derniers messages :
Code : Tout sélectionner
<?php
function getBrolLastPosts($itemMax, $titleMaxChar)
{
if (!defined("IN_PHPBB"))
{
define("IN_PHPBB", true);
}
$hiddenForums='59';//exemple, ne pas afficher les forums 2 8 ni 5
$phpbb_root_path = "forum/";
include_once ($phpbb_root_path . "config.php");
include_once ($phpbb_root_path . 'includes/constants.php');
$sql = 'SELECT t.topic_id, t.topic_title, t.topic_replies, t.topic_last_post_id, f.forum_id, f.forum_name, p.post_time, u.user_id, u.username';
$sql .=' FROM '.TOPICS_TABLE.' AS t, '.FORUMS_TABLE.' AS f, '.POSTS_TABLE.' AS p, '.USERS_TABLE.' AS u';
$sql .=' WHERE t.forum_id = f.forum_id';
$sql .=' AND t.topic_moved_id = 0 ';
$sql .=' AND p.post_id = t.topic_last_post_id ';
$sql .=' AND u.user_id = p.poster_id';
$sql .=' AND f.forum_id NOT IN('.$hiddenForums.') ';
$sql .=' ORDER BY t.topic_last_post_id DESC LIMIT ' .$itemMax;
$dbConnection=mysql_connect($dbhost, $dbuser, $dbpasswd) or die ("connexion impossible");
mysql_select_db ($dbname) or die ("impossible de sélectionner la db");
mysql_query("SET NAMES 'utf8'");
$result=mysql_query($sql);
if(empty($result))
{
$disp.='<p>Données indisponibles</p>';
}
else
{
while(($obj=@mysql_fetch_object($result))){
$title=$obj->topic_title;
$authorDisp=($obj->username!='Anonymous')?$obj->username:'un invité';
$disp.='Message posté à '.strftime('%H:%M',$obj->post_time).' par ';
$disp.=($obj->username!='Anonymous')?$obj->username:'un invité ';
$disp.='<BR /> <a href=\''.$phpbb_root_path.'viewtopic.php?p='.$obj->topic_last_post_id.'#'.$obj->topic_last_post_id.'\' ';
$disp.='title=\'Lire le message\'>'.substr($title,0,$titleMaxChar).'</a> <BR />';
}
}
if(isset($dbConnection))
{
mysql_close($dbConnection);
}
return $disp.'<p><a href=\''.$phpbb_root_path.'\'>Voir plus de messages...</a></p>';
}
echo getBrolLastPosts(30,90);//modifier ces valeurs : ici cela signifie les 20 derniers messages, et 40 caractères maximum
?>
que j'ai trouvé sur phpBB-fr.com et qui correspond a mes attentes .
Code : Tout sélectionner
<?php
define('IN_PHPBB', TRUE);
$phpbb_root_path = 'forum/';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
$sql = 'SELECT u.username, u.username_clean, u.user_id, u.user_type, u.user_allow_viewonline, u.user_colour, s.session_ip, s.session_viewonline FROM ' . USERS_TABLE . ' u, ' . SESSIONS_TABLE . ' s WHERE s.session_time >= ' . (time() - (intval($config['load_online_time']) * 60)) . ((!$config['load_online_guests']) ? ' AND s.session_user_id <> ' . ANONYMOUS : '') . ' AND u.user_id = s.session_user_id ORDER BY u.username_clean ASC, s.session_ip ASC';
$result = $db->sql_query($sql);
$online_userlist = $prev_user_id = '';
while ($row = $db->sql_fetchrow($result))
{
if ($row['user_id'] != ANONYMOUS)
{
if ($row['user_id'] != $prev_user_id)
{
$url = ' '.get_username_string('no_profile', $row['user_id'], $row['username'], $row['user_colour']). '';
$online_userlist .= ($online_userlist != '') ? ', ' . $url : $url;
}
$prev_user_id = $row['user_id'];
}
$prev_session_ip = $row['session_ip'];
}
echo $online_userlist;
?>
Si ca peut vous aider, voici l'url de mon site : http://www.ibanson.com
Nous sommes à la recherche d'un développeur php/mysql également pour notre site ... Contactez moi pour plus d'informations !
ibanson.