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..
Tämmöinen kysely voisi toimia (taulun nimi taulu, kentän nimi ip):
SELECT ip, COUNT(*) FROM taulu GROUP BY ip
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.
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!
Aihe on jo aika vanha, joten et voi enää vastata siihen.