26-07-2010, 10:06 PM
Hello tout le monde,
merci pour le tuto, sa ma bien aidé.
Par contre, sa fait 1/2 journée que je planche sur un problème, j'ai beaucoup tourner sa dans tout les sens, pas moyen...
L'environement:
J'ai donc une variable de session ($_SESSION['forum']['lastVisite']) qui contient le timestamp de la dernière visite.
J'ai une autre variable ($_SESSION['forum']['topic']) qui est un tableau avec les id des topic déjà lu en clée et le timestamp de la visite en valeur.
Mon problème: Afficher s'il y a des nouveaux message au niveau des catégories.
Voici la fonction qui récupère les informations des catégories, j'ai essayer de commenter pour que ce soit le plus clair possible:
merci pour le tuto, sa ma bien aidé.
Par contre, sa fait 1/2 journée que je planche sur un problème, j'ai beaucoup tourner sa dans tout les sens, pas moyen...
L'environement:
J'ai donc une variable de session ($_SESSION['forum']['lastVisite']) qui contient le timestamp de la dernière visite.
J'ai une autre variable ($_SESSION['forum']['topic']) qui est un tableau avec les id des topic déjà lu en clée et le timestamp de la visite en valeur.
Mon problème: Afficher s'il y a des nouveaux message au niveau des catégories.
Voici la fonction qui récupère les informations des catégories, j'ai essayer de commenter pour que ce soit le plus clair possible:
Code PHP :
<?php
function list_cat() {
//Selection des informations des catégorie.
$sql = query('SELECT
cat_id,
cat_nom,
cat_description
FROM forum_categorie');
//Initialisation du tableau qui sera retourné.
$list = array();
while($a = mysql_fetch_assoc($sql)) {
//Selection des topics Non lu
$query = query('SELECT
topic_id,
topic_timestamp
FROM forum_topic
WHERE topic_timestamp > '.$_SESSION['forum']['lastVisite'].' AND topic_idCat = '.$a['cat_id']);
//Initionalisation de la varible qui détermine s'il y a des nouveaux messages
$new = false;
while ($s = mysql_fetch_assoc($query)) {
//Si le topic n'est pas dans le tableau il est forcément non lu.
if (!array_key_exists($s['topic_id'], $_SESSION['forum']['topic'])) $new = true;
else {
//S'il est dans le tableau, on teste le timestamp pour savoir s'il a déjà été lu.
if ($_SESSION['forum']['topic'][$s['topic_id']] < $s['timestamp']) $new = true;
}
}
//On crée la catégorie pour traitement d'affichage
$list[$a['cat_id']] = array(
'nom' => $a['cat_nom'],
'topic_id' => $a['topic_id'],
'description' => $a['cat_description'],
'new' => $new
);
}
//Bha return...
return $list;
}
Je vois pas vraiment ou sa merde et y a un coup dans le bureau maintenant...
Si quelqu'un peu jeter un oeil .
Si y faut d'autre info, n'hésitez pas non plus.
Merci d'avance.