Salut à tous
Donc voilà : je voudrais faire une sorte de classement (ADR), mais j'ai un problème avec la table phpbb_users :
J'ai l'user "Anonymous" qui apparait dans le tableau .
Ma question : comment l'enlever du tableau ?
Merci d'avance![]()
Salut à tous
Donc voilà : je voudrais faire une sorte de classement (ADR), mais j'ai un problème avec la table phpbb_users :
J'ai l'user "Anonymous" qui apparait dans le tableau .
Ma question : comment l'enlever du tableau ?
Merci d'avance![]()
Ce qui donne :
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
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <table cellpadding="0" cellspacing="4" width="40%"> <tr> <td class="row2"><b>Ninja:</b></span></td> <td bgcolor="bfa977"><b>Niveau:</b></span></td> <td class="row2"><b>Victoires:</b></span></td> <td bgcolor="bfa977"><b>Defaites:</b></span></td> </tr> <?php mysql_connect("sql.free.fr", "mad.manga", "*********"); mysql_select_db("mad.manga"); $reponse = mysql_query("SELECT * FROM phpbb_users LIMIT 20"); $reponse2 = mysql_query("SELECT * FROM phpbb_adr_characters LIMIT 20"); while ($donnees = mysql_fetch_array($reponse) AND $quete = mysql_fetch_array($reponse2) ) { ?> <tr> <td bgcolor="c3ad7b"><?php echo $donnees['username']; ?></td> <td class="row2"><?php echo $donnees['user_points']; ?></td> <td bgcolor="c3ad7b"><?php echo $quete['character_victories']; ?></td> <td class="row2"><?php echo $quete['character_defeats']; ?></td> </tr> <?php } mysql_close(); ?>
http://mad.manga.free.fr/test.php
Vous pouvez largement optimiser votre script. Il ne faut surtout pas faire deux requetes mais une jointure, quant a Anonymous, il suffit d'ajouter une condition dans la requete.
Demonstration :
Dans la ligne avec le ON : l faut remplacer user_id par le nom du champs d'id d'utilisateur dans la table adr_characters et id par le nom du champs de l'id d'utilisateur dans la table users.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5SELECT c.*, u.* FROM phpbb_adr_characters AS c LEFT JOIN phpbb_users AS u ON c.user_id = u.id WHERE username NOT LIKE 'Anonymous'
Aussi, je suppose que Anonymous a aussi un id, dans ce cas, mieux vaut de remplacer le WHERE par : WHERE u.id != 0. Ou id doit etre le nom du champs de l'id de l'utilisateur dans la table users et 0 l'id de Anonymous.
Partager