Bonjour,

J'ai actuellement ce code:

<table class="table table-bordered table-highlight">
                    <thead>
                        <tr>
                            <th>Classement</th>
                            <th>Pseudo</th>
                            <th>Portefeuille</th>
                            <th>Compte en banque</th>
                        </tr>
                    </thead>
                    <tbody>
                        <?php
                        $i = 0;
                        $req_selectRiche = $connexion->query('SELECT * FROM players ORDER BY bankacc DESC LIMIT 0,10');
                        $nbr_selectRiche = $req_selectRiche->rowCount();
                        if($nbr_selectRiche > 0) {
                            while($selectRiche = $req_selectRiche->fetch()) {
                                $i++;
                        ?>
                        <tr>
                            <td><?php echo "#$i"; ?></td>
                            <td><?php echo $selectRiche['name']; ?></td>
                            <td><?php echo ''.number_format($selectRiche['cash']).'$'; ?></td>
                            <td><?php echo ''.number_format($selectRiche['bankacc']).'$'; ?></td>
                        </tr>
                        <?php
                            }
                        }
                        ?>
                    </tbody>
                </table>

Qui me retourne un tableau, PARFAIT, sauf que dans ma base de donnée ,j'ai également une table adminlevel, je voudrais faire un SELECT * FROM players ORDER BY bankacc DESC LIMIT 0,10 et faire en sorte que si un resultats a adminlevel > 0 ça ne l'affiche pas.

Car les 10 premiers du classements affiché sont les admins (tous a adminlevel > 0) je voudrais faire un select en n'affichant pas les resultat adminlevel > 0

Un top 10 qui n'affiche que les joueurs ayant pour valeur adminlevel == 0

Quelqu'un pour m'aider ? :x

4 réponses


SLK
Réponse acceptée

Salut,

j'ai peur d'avoir mal compris mais, il ne faut pas juste ajouter un WHERE dans ta requête ?
Quelque chose comme ça :

'SELECT * FROM players WHERE adminlevel = 0 ORDER BY bankacc DESC LIMIT 0,10'

Essayes quelque chose de ce style :

SELECT * FROM players WHERE id NOT IN (SELECT DISTINCT(playerid) FROM adminlevel) ORDER BY bankacc DESC LIMIT 0,10

Ou sinon donnes nous tes tables et tes colonnes

Cobryn
Auteur

Merci,

Cela ne fonctionne pas, voici l'erreur:
Fatal error: Call to a member function rowCount() on a non-object in C:\xampp\htdocs\top10riche.php

Au niveau table
https://gyazo.com/e4360566830f828977e39da340857045

Cobryn
Auteur

Bonjour !

C'était en fait tout con et tout simple mais tu viens de me donner la réponse ^^
Merci.