Le site des utilisateurs francophones de FluxBB.
Vous n'êtes pas identifié(e).
Bonjour à tous, je souhaiterais n'afficher que certaines catégories sur l'index, j'avais pensé à ajouté une colonne à la table "categories" avec un choix 0 ou 1 (avec TINYINT) ou un truc du genre et modifié la requête d'affichage des forums. Le soucis c'est que je ne suis pas encore a l'aise avec le sql et je galère avec les requêtes donc si vous pouviez m'indiquer la configuration de la nouvelle connail et que rajouté dans la requête sql ou bien si vous avez une idée plus simple à me proposé je suis preneur
Merci d'avance à ce qui m'aideront 
Dernière modification par Calvin Klein (12-01-2012 23:30:05)
Hors ligne
Bonjour,
Si certaines catégories ne s'affichent pas sur l'index, comment tes membres / visiteurs pourront-il y accéder ?
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
Bonjour,
Si certaines catégories ne s'affichent pas sur l'index, comment tes membres / visiteurs pourront-il y accéder ?
Ils accéderont au forum par un lien affiché sur une page autre que l'index 
Dernière modification par Calvin Klein (13-01-2012 19:26:22)
Hors ligne
@fanf73 : je me suis posé la même question hier soir, du coup je n'ai pas osé répondre, ne comprenant pas vraiment la demande… 
@Calvin Klein : dans la 'grosse' requête (identifiée par le commentaire "Print the categories and forums"), tu n'as qu'à rajouter une condition supplémentaire à la clause 'WHERE'.
En l'occurence, juste avant le 'ORDER', rajouter : AND cid NOT IN (x, y, z)
x, y, z étant les ids des catégories que tu ne veux PAS afficher. On peut faire le test inverse (catégories À afficher) en virant le 'NOT'.
Hors ligne
@Calvin Klein : dans la 'grosse' requête (identifiée par le commentaire "Print the categories and forums"), tu n'as qu'à rajouter une condition supplémentaire à la clause 'WHERE'.
En l'occurence, juste avant le 'ORDER', rajouter : AND cid NOT IN (x, y, z)
x, y, z étant les ids des catégories que tu ne veux PAS afficher. On peut faire le test inverse (catégories À afficher) en virant le 'NOT'.
Ça ne marche pas 
Error: Unable to fetch category/forum list.
Ma requête :
// Print the categories and forums
$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 AND cid NOT IN (4, 8, 9) ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());
Hors ligne
Bonjour,
Voilà une condition WHERE qui fonctionne
...
WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND c.id NOT IN(2,3)
ORDER BY ...Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Bonjour,
Voilà une condition WHERE qui fonctionne
... WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND c.id NOT IN(2,3) ORDER BY ...
CA m'affiche toujours les catégories que je met dans la parenthèse 
Hors ligne
Bonjour,
Vider forum/cache et le cache du navigateur !
Sauf indication contraire explicite, toutes les réponses que je donne ont TOUJOURS été essayées en grandeur réelle, en local, sur mon forum de test 1.4.8, vierge de toute autre modification.
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
Bonjour,
Pris d'un doute, je viens de refaire des essais en grandeur réelle, en local, forum 1.4.8 sans aucune modification.
dans le fichier index.php la requête d'affichage des catégories et forums est, d'origine :
// Print the categories and forums
//$result = $db->query('SELECT c.id AS cid, c.cat_name, f.id AS fid, f.forum_name, f.forum_desc, f.redirect_url, f.moderators, f.num_topics, f.num_posts, f.last_post, f.last_post_id, f.last_poster FROM '.$db->prefix.'categories AS c INNER JOIN '.$db->prefix.'forums AS f ON c.id=f.cat_id LEFT JOIN '.$db->prefix.'forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id='.$pun_user['g_id'].') WHERE fp.read_forum IS NULL OR fp.read_forum=1 ORDER BY c.disp_position, c.id, f.disp_position', true) or error('Unable to fetch category/forum list', __FILE__, __LINE__, $db->error());Pour ne pas afficher certaines catégories (Donc, les forums reliés auxdites catégories ne seront également pas affichés), il faut répertorier les id des catégories dans la table category et mettre ces numéros dans la clause NOT IN(id1,id2,....) en remplaçant la clause WHERE d'origine :
WHERE fp.read_forum IS NULL OR fp.read_forum=1par
WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND c.id NOT IN(2,5)Si on ne veut pas afficher certains forums, la démarche est la même, sauf que l'on va utiliser les id des forums de la table forums et, bien sûr, remplacer le champ idoine dans la clause WHERE d'origine par :
WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND f.id NOT IN(4,12)Le doute n'avait pas lieu d'être 
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
je suis sur fluxbb 1.4.7 d'origine, j'ai vidé le cache forum et navigateur mais en vain, ça ne marche toujours pas 
Hors ligne
Bonjour,
La modification et le fonctionnement sont exactement les mêmes en 1.4.7 qu'en 1.4.8. De plus, beaucoup d'autres fonctions NOT IN (....) existent, de base, dans FluxBB. Je ne vois pas pourquoi ça ne fonctionne pas sur ton installation.
Quelles sont tes versions PHP et MySQL ?
Ce n'est pas parce que l'erreur se propage qu'elle devient vérité. Gandhi
Sont différents : ça et sa - est et ait - à et a - ce et se - mes et mais ou met - été et était - c'est et ces - ce-si et ceci
La vie sans musique est tout simplement une erreur, une fatigue, un exil. Friedrich Nietzsche
Hors ligne
php version 5.3.4
mysql 5.1.53
sur wampserver
Hors ligne
As-tu bien vérifié que les id que tu renseignes sont des id de catégorie, et non de forums ? Regardes dans la table categories pour ça.
Nous ne faisons pas le travail à votre place mais nous prenons le temps de vous montrer le chemin. Merci de lire ce que l'on vous dit et de réfléchir avant de re-demander une explication.
Hors ligne
As-tu bien vérifié que les id que tu renseignes sont des id de catégorie, et non de forums ? Regardes dans la table categories pour ça.
oui ce sont les id de la table categories
edit : cette semaine quand je rentre chez moi et que Jai la connexion internet sur mon ordi je vous screen tous ça pour vous montré 
Dernière modification par Calvin Klein (17-01-2012 13:48:20)
Hors ligne
Bonjour,
La modification et le fonctionnement sont exactement les mêmes en 1.4.7 qu'en 1.4.8. De plus, beaucoup d'autres fonctions NOT IN (....) existent, de base, dans FluxBB. Je ne vois pas pourquoi ça ne fonctionne pas sur ton installation.
Quelles sont tes versions PHP et MySQL ?
J'ai testé, ce changement proposé dans la requête fonctionne parfaitement chez moi sur serveur distant (fluxBB 1.4.8, PHP 5.2.17, MySQL 5.0.92) sans même vider le forum/cache... (juste un F5 pour rafraichir le cache du navigateur).
Dernière modification par Wan (17-01-2012 15:46:26)
Hors ligne
Otomatic a écrit :Bonjour,
La modification et le fonctionnement sont exactement les mêmes en 1.4.7 qu'en 1.4.8. De plus, beaucoup d'autres fonctions NOT IN (....) existent, de base, dans FluxBB. Je ne vois pas pourquoi ça ne fonctionne pas sur ton installation.
Quelles sont tes versions PHP et MySQL ?J'ai testé, ce changement proposé dans la requête fonctionne parfaitement chez moi sur serveur distant (fluxBB 1.4.8, PHP 5.2.17, MySQL 5.0.92) sans même vider le forum/cache... (juste un F5 pour rafraichir le cache du navigateur).
bizarre il doit y avoir une couille dans mon code
je vous montrerai tous ça ce week end 
Hors ligne
J'ai tout repris depuis le début et j'ai modifié des categories dans la bdd et ça à l'aire de marché nickel, j'ai pas compris d'où venait le soucis.
Merci à vous de votre aide 
Hors ligne