Avatar billede hanne-rk Nybegynder
07. februar 2005 - 12:02 Der er 7 kommentarer og
1 løsning

Skriv kun nyeste indtastning fra brugeren

Jeg skal kun bruge den NYESTE indtastning fra hver bruger, resten skal IKKE med i den text fil som bliver lavet.

Det passer naturligvis med at det er den indtastning med størte ID som skal men fra hver bruger.
Dvs. at fx brugernr 33 måske har indtastet 20 gange som står i databasen, men det er kun den med det højeste ID som skal med i denne out.txt fil.
(Top1 kan ikke bruges, da der skal indtastninger med fra ALLE brugere)

Forstår i hvad jeg mener?

<%
Set fs = CreateObject("Scripting.FileSystemObject")
SavePath = server.mappath("out.txt")
Set a = fs.CreateTextFile(SavePath, True)   
set rs = conn.execute("select * from enheder")
do while not rs.eof
  a.WriteLine(rs("brugernr") &","& rs("dato") &","& rs("score") &","& rs("spiller"))
  rs.MoveNext
loop
%>
Avatar billede The Real Yoda Juniormester
07. februar 2005 - 12:25 #1
du kunne jo evt lave det sådan :

set rs = conn.execute("select * from brugere order by navn")
do while not rs.eof
  set rs2 = conn.execute("select * from enheder where brugernr="&rs("brugernr")&" order by id desc limit 1")
  do while not rs2.eof
    a.WriteLine(rs2("brugernr") &","& rs2("dato") &","& rs2("score") &","& rs2("spiller"))
  rs2.MoveNext
  loop
rs.movenext
loop
Avatar billede The Real Yoda Juniormester
07. februar 2005 - 12:25 #2
det skulle så have været et svar
Avatar billede fennec Nybegynder
07. februar 2005 - 12:32 #3
... eller brug group by.
set rs = conn.execute(select max(id) from enheder group by brugernr")
do while not rs.eof
  set rs1 = conn.execute("select * from enheder where id="& rs(0))
  a.WriteLine(rs1("brugernr") &","& rs1("dato") &","& rs1("score") &","& rs1("spiller"))
  rs.MoveNext
loop

Eller i en hvis databasen tillader det:
set rs = conn.execute("select * from enheder where id in(select max(id) from enheder group by brugernr)")
do while not rs.eof
  a.WriteLine(rs("brugernr") &","& rs("dato") &","& rs("score") &","& rs("spiller"))
  rs.MoveNext
loop
Avatar billede hanne-rk Nybegynder
08. februar 2005 - 12:24 #4
therealyoda -> når jeg prøver din, kommer der en "order fejl" i denne linie:
set rs2 = conn.execute("select * from enheder where brugernr="&rs("brugernr")&" order by id desc limit 1")

fennec -> når jeg prøver din 1'er kommer der en syntaxfejl i denne linie:
set rs = conn.execute(select max(id) from enheder group by brugernr")
Avatar billede fennec Nybegynder
08. februar 2005 - 12:26 #5
Jeg havde glemt et " :o)

set rs = conn.execute("select max(id) from enheder group by brugernr")
Avatar billede The Real Yoda Juniormester
08. februar 2005 - 12:27 #6
du skal jo lige checke at det du bruger som "brugernr" i enheder databasen .. også hedder brugernr i brugere databasen.. ellers skal du lige rette vores kode til så den passer
Avatar billede hanne-rk Nybegynder
08. februar 2005 - 12:29 #7
hold da op i er hurtige.
jeg ville lige afprøve den sidste af fennec's og den virkede :-)

så den nupper jeg.

Tak for hjælpen begge 2
Avatar billede fennec Nybegynder
08. februar 2005 - 12:39 #8
.o) <-- One Eyed Jack
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