Auteur | Message |
G-nesis
Junior Member
Messages : 45 Inscrit(e) le: 03/08/2013
|
Qui est en ligne ? | |
Bonjour à tous,
J'aurai voulu savoir si quelqu'un connaitrais le code PHP pour afficher qui est en ligne comme sur le bloc login.
J'aimerai voir afficher:
Connectés- Membres: 0 ; Visiteurs: 0 ; Admin: 0
J'ai joint l'image du topbar pour plus de clareté
Merci d'avance & bonne journée !
|
|
|
| Posté le 16/11/2014 - 13:25:01 512059f586.jpg (26 Ko) |
Revenir en haut | Permalien |
PePeRePeRveRs
Vice-Président Association
Messages : 3672 Inscrit(e) le: 13/06/2004
|
RE : Qui est en ligne ? | |
Salut,
inspire toi du code du block login (Includes > blocks > block_login.php) et, principalement, de cette petite portion de code:
$nb = nbvisiteur();
Good luck
|
Avant d'ouvrir un sujet, n'oubliez pas de lire le règlement et faire une recherche sur le forum !
|
|
| Posté le 16/11/2014 - 16:05:43 |
Revenir en haut | Permalien |
G-nesis
Junior Member
Messages : 45 Inscrit(e) le: 03/08/2013
|
RE : Qui est en ligne ? | |
Merci pour l'indice
N'étant pas du tout un pro en Php, seriez-vous me dire si je suis sur le bon chemin ou completement à cotés du code fonctionnel car je ne vois rien afficher sur le site, mais je n'ai pas d'erreur de syntaxe, c'est déjà ca
<?php
if (!defined("INDEX_CHECK")){
exit('You can't run this file alone.'Wink;
}
function affich_quiestenligne($blok){
global $user, $nuked, $bgcolor3, $bgcolor1 ;
list($login, $messpv, $members, $online, $avatar) = explode('|', $blok['content']);
$blok['content'] = '';
$c = 0;
if ($online != 'off'Wink{
if ($c > 0) $blok['content'] .= ' '."n";
$blok['content'] .= ' <b>' . _WHOISONLINE . '</b> '."n";
$nb = nbvisiteur();
if ($nb[1] > 0){
$sql4 = mysql_query('SELECT username FROM ' . NBCONNECTE_TABLE . ' WHERE type BETWEEN 1 AND 2 ORDER BY date'Wink;
while (list($nom) = mysql_fetch_array($sql4)){
$user_online .= ' <b>·</b> <b>' . $nom . '</b> ';
}
$user_list = ' [' . _LIST . ']';
}
else{
$user_list = '';
}
if ($nb[2] > 0){
$sql5 = mysql_query('SELECT username FROM ' . NBCONNECTE_TABLE . ' WHERE type > 2 ORDER BY date'Wink;
while (list($name) = mysql_fetch_array($sql5)){
$admin_online .= ' <b>·</b> <b>' . $name . '</b> ';
}
$admin_list = ' [' . _LIST . ']';
}
else{
$admin_list = '';
}
$blok['content'] .= ' <b>·</b> ' . _VISITOR;
if ($nb[0] > 1) $blok['content'] .= 's';
$blok['content'] .= ' : <b>' . $nb[0] . '</b> <b>·</b> ' . _MEMBER;
if ($nb[1] > 1) $blok['content'] .= 's';
$blok['content'] .= ' : <b>' . $nb[1] . '</b>' . $user_list . ' <b>·</b> ' . _ADMIN;
if ($nb[2] > 1) $blok['content'] .= 's';
$blok['content'] .= ' : <b>' . $nb[2] . '</b>' . $admin_list . ' '."n";
$c++;
}
return $blok;
}
?>
|
Edité par G-nesis le 17/11/2014 - 10:29:16 |
|
|
| Posté le 17/11/2014 - 10:08:28 |
Revenir en haut | Permalien |
PePeRePeRveRs
Vice-Président Association
Messages : 3672 Inscrit(e) le: 13/06/2004
|
RE : [Résolu] Qui est en ligne ? | |
// on récupère le résultat de la fonction nbvisiteur() qui est stocké dans la variable $nb sous la forme d'un tableau
$nb = nbvisiteur();
// pour chaque type de personnes, on vérifie si on met au pluriel ou au singulier
$visiteurs = ($nb[0] > 1) ? $nb[0].' visiteurs' : $nb[0].' visiteur';
$membres = ($nb[1] > 1) ? $nb[1].' membres' : $nb[1].' membre';
$admins = ($nb[2] > 1) ? $nb[2].' admins' : $nb[2].' admin';
// on affiche le résultat
echo 'Actuellement sur le site: '.$visiteurs.' - '.$membres.' - '.$admins;
Un truc comme ça devrait le faire
|
Avant d'ouvrir un sujet, n'oubliez pas de lire le règlement et faire une recherche sur le forum !
|
|
| Posté le 18/11/2014 - 20:38:06 |
Revenir en haut | Permalien |