Si x >= 5 et y >= 5

Par Cobryn, il y a 9 ans


Bonjour,

J'ai un petit problème, j'aimerais faire un espace de check dans mon administration qui pourrait m'indiquer quel IP ne respecte pas le réglement (Je pourrait le bloquer mais je souhaite uniquement le monitorer).

Dans ma base de donnée j'ai:

ID steamid reporter_ip
1 765611xx 127.0.0.1
2 765611xx 127.0.0.1
3 765611xx 127.0.0.1
4 765611xx 127.0.0.1
5 76561100xx 127.0.0.5
6 76561100xx 127.0.0.5
7 76561100xx 127.0.0.5
8 76561100xx 127.0.0.5
9 76561100xx 127.0.0.5

J'aimerais faire en sorte, que ça m'indique l'IP et le SteamID en cas de non respect.
Non respect = Le même SteamID est présent 5 fois ou plus dans la base de donnée sous la même IP.

J'ai commencer un code, mais je suis complètement perdu dans mes affaires là ^^

<?php include("include/config.php"); $req_selectData = $connexion->query('SELECT * FROM reported'); $nbr_selectData = $req_selectData->rowCount(); while($selectData = $req_selectData->fetch()) { $req_selectIP = $connexion->prepare('SELECT * FROM reported WHERE reporter_ip= :reporter_ip AND steamid= :steamid'); $req_selectIP->execute(array( 'reporter_ip' => $selectData['reporter_ip'] , 'steamid' => $selectData['steamid'] )); $nbr_selectIP = $req_selectIP->rowCount(); $selectIP = $req_selectIP->fetch(); echo ' '.$selectIP['steamid'].' '; } ?>

Quelqu'un aurait une solution a me proposer ?

3 réponses

tleb, il y a 9 ans

Salut,

Il me semble que cette question est similaire à la tienne.

SimonAndGarfunkel, il y a 9 ans

Bonjour Cobryn,

comme le fait à juste titre remarquer tleb avec son lien, je pense que tu peux résoudre ton problème avec cette requête SQL:

SELECT steamid, reporter_ip, COUNT(*) AS count FROM reported GROUP BY steamid, reporter_ip HAVING count >= 5
Cobryn, il y a 9 ans

Parfaitement fonctionnel, merci à vous deux.