Gå til innhold

Hjelp til mysql spørring


Anbefalte innlegg

Skrevet

Jeg har en tabell hvor blandt annet IP adresse blir logget.

 

Jeg trenger en spørring som velger ut alle IP adresser som er oppført mer enn 10 ganger i loggen. Noen som har et forslag til hvordan den spørringen vil se ut?

Videoannonse
Annonse
Skrevet (endret)

mysql_query('SELECT ip FROM tabell WHERE antall>10')

 

EDIT: Hmmm, tror jeg misforsto :hmm: Er det sånn at én IP kan være lagret flere "steder" i tabellen? I så fall blir det litt verre ;)

Endret av Loomy
Skrevet (endret)

Den satt som en kule! :D

 

Tusen takk!

 

Forresten, når dere først er i gang, hvordan får jeg vist resultatene med php. Det vil si, lage variablene IP og antall, slik at jeg kan printe det ut slik:

 

$ip ($antall oppføringer)

 

Vet det er noe med mysql_fetch_array, men dette kan vel dere i hodet?

Endret av GeeZuZz
Skrevet

Kan du funksjonsnavnet er det ikke verre enn å ta seg en tur innom www.php.net. Merkelig nok lærer man mer av å sjekke opp ting selv, enn å få alt servert på sølvfat.

 

Om du kun skal bruke kolonnenavnet, anbefaler jeg deg å heller satse på mysql_fetch_assoc som er et raskere alternativ sammenliknet med mysql_fetch_array (som i praksis lager to arrayer).

Skrevet
$arraynavn = mysql_fetch_array($connectionlinkgreiedings);
$ip = $arraynavn["ip"];
$dato = $arraynavn["dato"];
...

"ip" og "dato" er navn på feltene. $connectionlinkgreiedings er linken for tilkoblingen til mysql.

Skrevet (endret)

RipZ-: Ja, jeg burde finne ut av det selv, men akkurat nå er det viktigste å få frem resultatet. Har ikke tid til å sette meg ned å lære dette akkurat nå... :(

 

jorgenindahouse: Tusen takk for hjelpen. Men er det en grunn til at jeg bare får frem det første resultatet? (får kun frem et treff)

 

Edit: Det funket når jeg brukte:

while ($result = mysql_fetch_array($query)) {

$ip = $result["IP"];
$antall = $result["Antall"];

}

 

:w00t:

Endret av GeeZuZz
Skrevet (endret)

Hvis du vil at koden skal rulle gjennom resultatene, kan du gjøre slik:

 

while ($arraynavn = mysql_fetch_array($connectionlinkgreiedings)) {
$ip = $arraynavn["ip"];
$dato = $arraynavn["dato"];
...
}

 

Da putter den ut data for hver rad den kommer over. Hvis du vil begrense det, kan du blant annet putte inn

LIMIT = tall

i SQL-spørringen din.

 

EDIT: refresh var visst en fin båt... :p

Endret av jorgenindahouse
Skrevet

Hehe... :D

 

Mens vi først er så godt i gang...

 

Hvordan fungerer egentlig dette med sortering?

 

Slik ser siden ut nå:

 

IP adresse - Antall

$ip - antall

 

I SQL spørringen sorteres det etter antall. Hvis jeg vil f.eks gjøre slik at hvis jeg klikker på IP adresse, så sorteres den etter IP adresse - må jeg da legge til en ny spørring? Eller finnes det noen triks for å "sortere" spørring resultatet i php eller noe sånt?

Skrevet

En ny spørring kan kjøres istedenfor den gamle. Da kan du bruke

ORDER BY 'ip'

for å sortere. Det kan også gjøres i PHP, men jeg er trøtt... :p

Skrevet

om gjør sortering i php eller mysql er vel ett fett for brukeren? å gjøre det i mysql er mest elegant og enklest idet man bare slenger på en order by i spørringa.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...