0

12.43.121.2 IPが9つの異なるサイトで9回である場合のように、サイトIPがデータベースで大多数を占める場合にのみ、一部のサイトで「M」をエコーする方法を知りたいのですが、それらのサイトで「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']}'"); while($ getm = mysql_fetch_array($ shm)){

if($ getm ['ips'] == "{$ onhold ['ips']}"){echo "M"; } else {echo ""; }}?>

于 2012-05-26T08:32:29.040 に答える