比较MySQL行与PHP数组值
我试图将列表中的IP地址与被阻止IP的列表进行比较。如果IP地址等于$blockedIP数组中的地址,则该行不包括在列表中。该列表由mysqli_查询填充。我想做的是,如果IP地址与数组中的一个地址匹配,则排除整行比较MySQL行与PHP数组值,php,mysql,arrays,compare,Php,Mysql,Arrays,Compare,我试图将列表中的IP地址与被阻止IP的列表进行比较。如果IP地址等于$blockedIP数组中的地址,则该行不包括在列表中。该列表由mysqli_查询填充。我想做的是,如果IP地址与数组中的一个地址匹配,则排除整行 echo '<div class="genericTable"><h2>Downloaded Sermons Report</h2><table>'; $blockedIP = array('69.58.178.58', '173.1
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>';
echo“下载布道报告”;
$blockedIP=数组('69.58.178.58','173.199.115.123','173.199.120.99');
foreach($blockedIP作为$ip){
$sql=mysqli_查询($db,“从dl_日志中选择*其中ipaddress'.$ip'”);
while($row=mysqli\u fetch\u assoc($sql)){
回声';
如果($row['ipaddress']!==$ip){
foreach($行作为每个$){
回显“.$”;
}
}
回声';
}
}
回声';
我尝试了几种不同的方法,要么得到整个列表,要么将每一行和每一列与数组进行比较,这样就形成了一个看起来像千斤顶的表。我使用foreach将值与数组进行比较。我应该把它放在哪里?
谢谢
我想做的是,如果IP地址与数组中的一个地址匹配,则排除整行
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>';
您有几个选择:
过滤结果
// SQL
SELECT * FROM dl_log;
// PHP
if (!in_array($row['ipaddress'], $blockedIP))
如果不想打印该行,请更改
if($row['ipaddress'] !== $ip){
到
你知道阻止IP是没有意义的对吧?IP!=用户。一个IP可以是百万人,一个人可以对每个请求使用一个新的IP。好吧,如果你想避免争吵,只需在打印争吵之前检查一下……达贡,我不是阻止IP访问,只是阻止IP出现在列表上。整个脚本分析已下载文件的用户的IP、下载时间等。被阻止的IP似乎是搜索引擎机器人。我不想用不必要的数据填满表格。如果你想停止它的搜索引擎,请使用robots.txt文件或useragent分析。更高效的是,机器人IP随时都在变化
if(!in_array($row['ipaddress'], $blockedIP)){