Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: IP-numeroiden esiintyminen kpl:na

irwinace [23.06.2005 16:59:30]

#

Osaisko joku neuvoo miten saisin koodattua ip-numeroiden esiintymiskerrat.
Eli tietokanta esim.:
127.0.0.1
127.0.0.1
127.0.0.2
127.0.0.1
127.0.0.2
127.0.0.3
Tulostais näin:
127.0.0.1=3
127.0.0.2=2
127.0.0.3=1

En vaa keksi miten saisin ne koodattua noin..

Antti Laaksonen [23.06.2005 17:09:30]

#

Tämmöinen kysely voisi toimia (taulun nimi taulu, kentän nimi ip):

SELECT ip, COUNT(*) FROM taulu GROUP BY ip

kayttaja-2791 [23.06.2005 17:13:04]

#

Taulukossa $array on ne ip:t

<?php
//Laitetaan ipt uuteen arrayhyn niin että key on IP ja arvo lukumäärä
foreach ($array as $ip) {
  if (isset($newarray[$ip]))
    $newarray[$ip] = $newarray[$ip] + 1;
  else
    $newarray[$ip] = 1;
}

//Järjestetään niin halutessa
asort($newarray);
reset($newarray);

//Tulostusesimerkki
foreach ($newarray as $ip => $count)
  echo "{$ip}: $count <br />\n";
?>

Edit:
Alkuperäisessä koodissa oli virhe ehtolauseessa. Nyt se ehkä toimiikin.

irwinace [23.06.2005 18:25:00]

#

Olin tietoinen Antin ehdottamasta MySql:n hausta, mutta ip-numerot ovat erillisissä tietokantapöydissä, joten kokosin ne arrayhin.
JTS:n vinkki auttoi huomattavasti, kiitoksia paljon!

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta