Lurifaksen Skrevet 12. juni 2004 Del Skrevet 12. juni 2004 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? Lenke til kommentar
Loomy Skrevet 12. juni 2004 Del Skrevet 12. juni 2004 (endret) mysql_query('SELECT ip FROM tabell WHERE antall>10') EDIT: Hmmm, tror jeg misforsto Er det sånn at én IP kan være lagret flere "steder" i tabellen? I så fall blir det litt verre Endret 12. juni 2004 av Loomy Lenke til kommentar
diskvask Skrevet 12. juni 2004 Del Skrevet 12. juni 2004 Mmmm.. Litt hjernetrim. SELECT `ip`, count(*) as antall FROM logg group by `ip` having count(*) > 10 Lenke til kommentar
jorgis Skrevet 12. juni 2004 Del Skrevet 12. juni 2004 diskvask sin spørring stemmer ganske bra. En link med eksempler Lenke til kommentar
Lurifaksen Skrevet 12. juni 2004 Forfatter Del Skrevet 12. juni 2004 (endret) Den satt som en kule! 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 12. juni 2004 av GeeZuZz Lenke til kommentar
RipZ- Skrevet 12. juni 2004 Del Skrevet 12. juni 2004 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). Lenke til kommentar
jorgis Skrevet 12. juni 2004 Del Skrevet 12. juni 2004 $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. Lenke til kommentar
Lurifaksen Skrevet 12. juni 2004 Forfatter Del Skrevet 12. juni 2004 (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"]; } Endret 12. juni 2004 av GeeZuZz Lenke til kommentar
jorgis Skrevet 12. juni 2004 Del Skrevet 12. juni 2004 (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... Endret 12. juni 2004 av jorgenindahouse Lenke til kommentar
Lurifaksen Skrevet 12. juni 2004 Forfatter Del Skrevet 12. juni 2004 Hehe... 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? Lenke til kommentar
jorgis Skrevet 12. juni 2004 Del Skrevet 12. juni 2004 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... Lenke til kommentar
Torbjørn Skrevet 14. juni 2004 Del Skrevet 14. juni 2004 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. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå