8791 sujets

Développement web côté serveur, CMS

J'avais complètement oublié des détails en mysql,
La solution :
(" SELECT * FROM nuked_users WHERE pseudo != 'admin' GROUP BY pseudo ASC ")

La clause WHERE pseudo != 'admin'

En passant, je vais regarder pour une liste à exclure si plusieurs.
C'est à dire :
liste - exclu

Merci pour le forum, à date, ça m'a bien aidé dans la plupart des cas.

Bonjour!

Si j'ai 10 users dans ma base qui inclu "admin" mais que je ne veux pas afficher "admin" mais tous les autres, comment je fais ?

de l'aide est apprécié, merci!

A partir de mon code-ci :


<?php 
header('Cache-Control: no-cache'); 
include('config.i.php');

$result = mysql_query("SELECT * FROM nuked_users ORDER BY id DESC") or die(mysql_error());  

    echo '<p style="font-size:20px;margin-bottom:0px;color:green;">Sont inscrits :</p>';

    while($row = mysql_fetch_array( $result )) {

        echo '<p style="font-size:12px;font-family:Verdana;margin-bottom:-11px;">»»» ' . $row['pseudo'] . ' de : ' .  substr($row['country'], 0, -4) . '</p>';
    }
      
mysql_close();
?>


Résultat de l'affichage actuel :

»»» admin de : France
»»» alice de : Canada
etc
Modifié par dan4 (29 Aug 2010 - 08:43)
Salut,

dan4 a écrit :
J'avais complètement oublié des détails en mysql,
La solution :
(" SELECT * FROM nuked_users WHERE pseudo != 'admin' GROUP BY pseudo")

La clause WHERE pseudo != 'admin'

En passant, je vais regarder pour une liste à exclure si plusieurs.
C'est à dire :
liste - exclu
Non : ce n'est pas une bonne solution. Smiley cligne

En général dans une table de membres on trouve une clé étrangère qui précise le rang :

table membres :
* id_membre (clé unique en auto_increment)
* pseudo
* id_rang
* ...

table rangs :
* id_rang (clé unique)
* libelle_rang

Cette table pourra contenir par exemple :
1 Administrateur
2 Modérateur
3 Membre

Le fait d'avoir une autre table permet de ne pas toucher au code si on rajoute un nouveau rang.

Du coup ta requête devient :
SELECT * FROM nuked_users WHERE rang = 3 GROUP BY pseudo

Ceci est une version simplifiée et il faut voir quel sera le besoin pour la gestion du site : on pourrait par exemple rajouter un champ dans la table rangs pour préciser s'il s'agit d'un rang avec privilèges, espacer les clés de 10 en 10 pour pouvoir insérer de nouveaux rangs en fonction de leur importance, créer une autre table qui servirait à connaître pour un type de requête ou d'action quels sont les rangs à lister ou autorisés, etc.
Modifié par Heyoan (29 Aug 2010 - 09:11)
Merci pour l'info, c'est apprécié!

Mon principal but dans le codage est d'apprendre.
Alors, je vais regarder ce bout de code.

Il me viens des idées et je les tests.

En ce moment, c'est sur Nuked-Klan que je travaille.
J'utilise en parti les tables mysql pour créer du code
qui complète l'application. Ça me permet de mieux
comprendre. J'ai fait un affichage de la liste des
membres et votre bout de code pourrait m'aider à
faire ce que je veux faire. Je vais essayer. a+



Heyoan a écrit :
Salut,

Non : ce n'est pas une bonne solution. Smiley cligne

En général dans une table de membres on trouve une clé étrangère qui précise le rang :

table membres :
* id_membre (clé unique en auto_increment)
* pseudo
* id_rang
* ...

table rangs :
* id_rang (clé unique)
* libelle_rang

Cette table pourra contenir par exemple :
1 Administrateur
2 Modérateur
3 Membre

Le fait d'avoir une autre table permet de ne pas toucher au code si on rajoute un nouveau rang.

Du coup ta requête devient :
SELECT * FROM nuked_users WHERE rang = 3 GROUP BY pseudo

Ceci est une version simplifiée et il faut voir quel sera le besoin pour la gestion du site : on pourrait par exemple rajouter un champ dans la table rangs pour préciser s'il s'agit d'un rang avec privilèges, espacer les clés de 10 en 10 pour pouvoir insérer de nouveaux rangs en fonction de leur importance, créer une autre table qui servirait à connaître pour un type de requête ou d'action quels sont les rangs à lister ou autorisés, etc.