Avatar billede henrik2000 Nybegynder
22. januar 2001 - 09:31 Der er 12 kommentarer og
1 løsning

visning af specifikkke data fra database på asp-side...

Hej!

Jeg skriver brugerens ip-adresse m.m. ned i en database hver gang man logger på forsiden, og skriver det så ud på en asp-visningsside så jeg kan se dem. Men hver gang en bruger går tilbage til forsiden, så skriver den en ny række ned i databasen.
Hvordan viser jeg antallet af gange et bestemt ip-nummer er blevet skrevet ned i databasen???

Altså i stedet for at skrive 194.194.194.21 10 gange på visningssiden, så vil jeg gerne kunne skrive:

IP-nummer: 194.194.194.21: antal besøg på forsiden: 10

Henrik



Avatar billede kasseper Nybegynder
22. januar 2001 - 09:39 #1
Du kan lave en SQL statement der gør det :

SQL = \"SELECT COUNT(Ipnummer) as ThisIP from Mytable\"
Set rs = MyConn.execute(SQL)
response.write rs(\"ThisIP\")

skift navne med dine egne, også skulle den gerne spille--->

Kasseper
Avatar billede wisen Nybegynder
22. januar 2001 - 10:03 #2
Du skal først lave en \"SELECT DISTINCT\", for at finde alle de FORSKELLIGE Ip-numre der har besøgt dig, der efter skal du en for en løbe dem igennem med en \"SELECT COUNT\" for at finde antallet...
Avatar billede teepee Nybegynder
22. januar 2001 - 10:37 #3
select ip, count(ip)
from ip-tabel
group by ip;

Avatar billede wisen Nybegynder
22. januar 2001 - 10:45 #4
Man må skulle bruge en \"DISTINCT\" da IP-nummeret kan ligge i samme tabel flere gange...
Avatar billede teepee Nybegynder
22. januar 2001 - 11:04 #5
Det er lige netop derfor man bruger \"group by\"
Avatar billede wisen Nybegynder
22. januar 2001 - 11:05 #6
Ja, men så får han stadig IP-nummeret flere gange...
Avatar billede teepee Nybegynder
22. januar 2001 - 11:09 #7
Nej han gør sgu ej! Prøv koden før du kommenterer!
Avatar billede wisen Nybegynder
22. januar 2001 - 11:11 #8
teepee >> Ok, du får ret, og jeg får fred...
Avatar billede henrik2000 Nybegynder
23. januar 2001 - 12:00 #9
Hej!

Jeg har prøvet ovenstående eksempel fra kasseper,

men den kommer med en fejl:

Microsoft VBScript runtime error \'800a000d\'

Type mismatch: \'rs\'

Jeg har et felt i databasen med ip-nummeret der hedder \"REMOTE_ADDR\", men skal der være et felt der hedder ThisIP eller hvad???

Henrik


Avatar billede teepee Nybegynder
23. januar 2001 - 12:05 #10
skift count(Ipnummer) ud med count(REMOTE_ADDR) så er den der, men den tæller altså alle rækker på en gang, husk group by for at samle dem pr. ipnummer
Avatar billede henrik2000 Nybegynder
23. januar 2001 - 14:26 #11
hej igen!

ok, nu virker det! Men der bliver så kun skrevet antallet af det mindste ip-nummer ud på skærmen. Hvordan får jeg skrevet antallet for alle ud???
Altså for hvert nyt ip-nummer i databasen, skal der skrives:
ipnummer 1: 4 hits
ipnummer 2: 5 hits o.s.v.

Avatar billede teepee Nybegynder
23. januar 2001 - 14:33 #12
prøv med ...

Do Until rs.EOF
response.write rs(\"ThisIP\")
rs.MoveNext
Loop
Avatar billede henrik2000 Nybegynder
01. februar 2001 - 13:53 #13
tak - det virkede!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester