J'essaie de comparer les adresses IP d'une liste à une liste d'adresses IP bloquées. Si l'adresse IP est égale à une adresse dans le tableau $ blockedIP, la ligne n'est pas incluse dans la liste. La liste est remplie à partir d'une requête mysqli. Ce que je voudrais faire est d'exclure toute la rangée si l'adresse IP correspond à une dans le tableau.Comparer la ligne MySQL avec les valeurs des tableaux PHP
echo '<div class="genericTable"><h2>Downloaded Sermons Report</h2><table>';
$blockedIP = array('69.58.178.58', '173.199.115.123', '173.199.120.99');
foreach($blockedIP as $ip){
$sql = mysqli_query($db, "SELECT * FROM dl_log WHERE ipaddress <> '".$ip."'");
while($row = mysqli_fetch_assoc($sql)){
echo '<tr>';
if($row['ipaddress'] !== $ip){
foreach($row as $each){
echo '<td class="genericTable">'.$each.'</td>';
}
}
echo '</tr>';
}
}
echo '</table></div>';
J'ai essayé le script quelques différentes façons et soit obtenir la liste complète ou chaque ligne & colonne sont comparées au tableau, ce qui rend une table à la recherche fait grimper. J'utilise le foreach pour comparer les valeurs au tableau. Où devrais-je le mettre? Merci.
vous savez bloquer IP, est inutile non? IP! = Utilisateur. Une IP pourrait être un million de personnes, et une personne pourrait utiliser une nouvelle adresse IP pour chaque demande. –
Eh bien, si vous voulez éviter une rangée, il suffit de faire votre vérification _avant d'imprimer la ligne ... –
Dagon, je ne bloque pas les adresses IP d'accès, juste de montrer sur une liste. L'ensemble du script analyse les adresses IP des utilisateurs qui ont téléchargé des fichiers, quand ils ont été téléchargés, etc. Les adresses IP bloquées semblent être des robots de moteur de recherche. Je ne veux pas gonfler la table avec des données inutiles. – timbocf