IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Selection d'user moins les banni


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 27
    Points : 19
    Points
    19
    Par défaut Selection d'user moins les banni
    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é

    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;
    Le code de base étant :
    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;
    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.

    Voici le code utilisé à ce moment là :

    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 )";
    	}
    Si quelqu'un a une idée parce que là je sèche :s

    D'avance merci à vous

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Désolé du dérangement, je viens de trouver ^^

    Vous allez rire dans le code de mon ami il fallait inverser deux "variables"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $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
    Devient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		$sql = 'SELECT u.user_email FROM ' . USER_GROUP_TABLE . ' ug, ' . USERS_TABLE . " u
    			LEFT JOIN " . BANLIST_TABLE . " b ON u.user_id = b.ban_userid
    Merci et désolé du dérangement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 04/10/2006, 22h15
  2. SELECT pour avoir tous les TS d'une database
    Par genio dans le forum DB2
    Réponses: 5
    Dernier message: 21/08/2006, 12h11
  3. Réponses: 1
    Dernier message: 13/04/2005, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo