Bonsoir, je travaille actuellement sur une modification de "code" pour obtenir le résultat suivant :
- Sélection des utilisateurs d'un groupe donné et par défaut de tous les utilisateurs si aucun groupe n'est selectionné
- Retrait des utilisateurs banni
3 tables sont mises en jeu : table_user, table_user_group et table_banlist
(Pour les étonnés, oui c'est bien du phpbb)
Voici donc le code utilisé
Le code de base étant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 $sql = ( $group_id != -1 ) ? "SELECT u.user_email FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug LEFT JOIN " . BANLIST_TABLE . " b ON u.user_id = b.ban_userid WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . " AND u.user_id = ug.user_id AND ISNULL( b.ban_userid )" : "SELECT user_email FROM " . USERS_TABLE;Un ami m'avait déjà aidé pour la "déselection des banni" et cela fonctionnait mais uniquement dans le cas de "tous les utilisateurs"... Dès que l'on selectionnait un groupe boum erreur mysql.
Code : Sélectionner tout - Visualiser dans une fenêtre à part $sql = ( $group_id != -1 ) ? "SELECT u.user_email FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . " AND u.user_id = ug.user_id" : "SELECT user_email FROM " . USERS_TABLE;
Voici le code utilisé à ce moment là :
Si quelqu'un a une idée parce que là je sèche :s
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 if ( $group_id != -1 ) { $sql = 'SELECT u.user_email FROM ' . USERS_TABLE . ' u, ' . USER_GROUP_TABLE . " ug LEFT JOIN " . BANLIST_TABLE . " b ON u.user_id = b.ban_userid WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . ' AND u.user_id = ug.user_id AND ISNULL( b.ban_userid )'; } else { $sql = 'SELECT u.user_email FROM ' . USERS_TABLE . " u LEFT JOIN " . BANLIST_TABLE . " b ON u.user_id = b.ban_userid WHERE ISNULL( b.ban_userid )"; }
D'avance merci à vous
Partager