0

我想知道只有当站点 IP 在数据库中占多数时,我如何才能在某些站点上回显“M”,例如如果 12.43.121.2 IP 在 9 个不同站点中是 9 倍,那么只有它应该与这些站点回显“V”如果 14.821.83.21 IP 只有 3 次与 3 个不同的站点,则具有大多数相同的 IP,那么它不应该回显“M”这是我尝试过的,但这一切都是徒劳的

 <?
 $shm= mysql_query("SELECT * FROM data WHERE url='$od[url]'");
 while ($getm = mysql_fetch_array($shm)){
     if($getm['ips']=="$od[ips]"){
         echo "V";
     }
     else{
         echo"";
     }
 }
 ?>

另一个尝试

 <?
 $shm= mysql_query("SELECT COUNT FROM dom WHERE ips='$od[ips]'");

 if($shm<3) ///Confused here what to do?// {
 echo "V";
 }
 else{
 echo"";
 }

 ?>

我的最终代码(Wordking):)

<?
$shm= mysql_query("SELECT COUNT(*) FROM domain WHERE ips='$od[ips]'");
if($od['ips']=="")
{
}
else{
while ($getm= mysql_fetch_array($shm)){
$mass = $getm[0];
if($mass>"10"){
echo "V";
}
else{
echo"";
}
}
} 
?>
4

3 回答 3

0

这会计算每个 IP 的数据库中有多少个不同的 url。IP 是重复次数最多的 IP,它与字符“M”一起回显。您可以根据自己的需要进行调整。

<?php
 $shm = mysql_query("SELECT ips, COUNT(ips) AS how_many FROM (
     SELECT DISTINCT url, ips FROM kayitlar) AS temp GROUP BY ips ORDER BY how_many DESC;'");
 if ($row = mysql_fetch_array($shm)) {
     if ($row['how_many'] > 9) {
         echo $row['ips'] . ': M';
     }
     else {
         echo '';
     }
 }

?>
于 2012-05-26T09:32:50.743 回答
0
if($getm['ips']=="$onhold[ips]") {

应该是(开始):

if($getm['ips']==$onhold["ips"]) {

另外,我不明白 $onhold["ips"] (我做的是“url”)

于 2012-05-26T08:28:37.123 回答
0

我对“复杂变量”和双引号字符串的处理是将它们放在大括号 {} 之间并使用正常格式。

你的代码看起来像这样

$shm= mysql_query("SELECT * FROM kayitlar WHERE url='{$onhold['url']}'"); 而 ($getm = mysql_fetch_array($shm)){

if($getm['ips']=="{$onhold['ips']}"){ echo "M"; } 其他{ 回声“”;} } ?>

于 2012-05-26T08:32:29.040 回答