Bonjour,

Voila je rencontre un petit problème avec mon code.

Décrivez ici votre code ou ce que vous cherchez à faire

Entourez votre codse pour bien le mettre en forme

Ce que je veux

S'ils vous plaît j'ai besoin d'aide je voulais coder une page qui me permettra de savoir tous ce qui se passe sur mon site en gros "Le Forum" "Achat" "Nombre de personnes qui est en ligne..." si vous avez des suggestions pour moi pour je vous pris de m'aider. Merci d'avance

Ce que j'obtiens

Décrivez ici vos erreurs ou ce que vous obtenez à la place de ce que vous attendez :(

5 réponses


As-tu pensé à un système de log ?

Pour créer un système de log pour ton site c'est très simple.
Le code que je vais te donner, est basé sur ma fonction DB à moi, donc tu vas devoir l'adapter pour tes besoin.

Fonction

function log_event($uid, $type, $event = ''){
    return Db::Insert('history', [
        'uid'                => $user_session['id'] ?: 0,
        'type'              => $type,
        'timestamp'    => time(),
        'ip'                  => $_SERVER['REMOTE_ADDR'],
        'event'            => $event
    ]);
}

Comment utiliser la fonction ?
Vous devrez simplement ajouter cette ligne à chaque fonction qui exécute une action que vous désirez une trace

log_event($user_session['id'], 'user', "Tentative de connexion");

Bien entendu, vous devrez posséder la table history ou une autre tape pour stocker les log.

Pour avoir des statistiques, c'est très facile.

Retourner le nombre d'enregistements dans une table

SELECT COUNT(*) FROM table_name

Avec la SELECT COUNT tu peux ajouter des options en ajoutant WHERE exemple :

  • Tu as une table et tu veux savoir combien de membres sont banni, en ligne, nbr de post forum ou autres
    
    # Nombre de compte banni
    ("SELECT COUNT(*) FROM users WHERE banned = 1")
Nombre de compte connecté

("SELECT COUNT(*) FROM users WHERE online = 1")

Nombre post pour un utilisateur qui possède le id 1

("SELECT COUNT(*) FROM forum_post WHERE uid = 1")


Dans tout les cas, tu dois utiliser un COUNT() pour recupérer le nombre que la requête te retournera.
Tu devrais nous indiquer quelle genre de statistique que tu désires.
Barrymee
Auteur

Merci beaucoup je veux un statistique qui me permettra de connaître le nombre de personnes connectés sur le site le nombre de tropic partager par chaque personnes le nombre de réponse.

Barrymee
Auteur

Nombre de compte banni

("SELECT COUNT(*) FROM users WHERE banned = 1")

Je veux savoir si je dois donné 1 par défaut a banned dans la table users? Merci