Avatar billede kimlarsen1978 Nybegynder
12. maj 2006 - 16:05 Der er 4 kommentarer og
1 løsning

Udskriv en grupering fra et ResultSet

Hejsa
Jeg har lidt problmer med at få mit ResultSet udskrevet korrekt. Jeg har denne SELECT

Select marked.vaerdi, marked.id, users.fornavn From marked INNER JOIN users ON marked.uid = users.userID ORDER BY users.fornavn;

Den giver mig et RS noget alla:


ID    Fornavn        Værdi
1    Hans        TT
2    Hans        QW
3    Julie        K
4    Julie        KL
5    Peter        A       
6    Peter        AB
7    Peter        CS
8    Peter        V

og så videre...

Jeg vil så gerne have disse udskrevet så det kommer til at se sådan her ud:

*********************************

Hans har disse værdier:
- TT
- QW

Julie har disse værdier:
- K
- KL

Peter har disse værdier:
- A
- AB
- CS
- V

*********************************

Men hvordan dælen gør jeg det for mit normale LOOP tager jo én række af gangen

<%
Do Until rs.EOF
    Response.Write rs("fornavn") & " har disse værdier:<br>"
   
    UDSKRIV ALLE TILHØRENDE VÆRDIER OG HOP TIL NÆSTE BRUGER

RS.MoveNext
Loop 

Håber der er nogle der kan fixse dette, jeg ved ikke helt om det er i SELECTEN eller i DO UNTIL jeg skal ordne det - og ikke mindst hvordan
Avatar billede eagleeye Praktikant
12. maj 2006 - 16:34 #1
Du kan udvide det kode du har så den kun udskriver navnet hvis det har ændret sig. Man kan gøre sådan her:



oldNavn =""
Do Until rs.EOF
    if oldNavn <> rs("fornavn") then
      Response.Write rs("fornavn") & " har disse værdier:<br>"
      oldNavn = rs("fornavn")
    end if

    UDSKRIV ALLE TILHØRENDE VÆRDIER OG HOP TIL NÆSTE BRUGER

   
  RS.MoveNext
Loop
Avatar billede tofte Juniormester
12. maj 2006 - 16:35 #2
Jeg har ikke lige adgang til et sted hvor jeg kan teste min kode - så det skal nok lige tilrettes, men håber du kan se ideen.

strCurName=""
Do Until rs.EOF
  if rs("fornavn")<>strCurName then
    response.write rs("fornavn") & " har disse værdier <br>"
    strCurName = rs("fornavn")
  else
    response.write "-" & rs("værdi") & "<BR>"
    rs.movenext
  end if
Loop
Avatar billede tofte Juniormester
12. maj 2006 - 16:35 #3
hmm for langsom igen.... :-)
Avatar billede eagleeye Praktikant
12. maj 2006 - 16:36 #4
Skal der også et ektra linie skift ind før næste navn kan det udvise:


oldNavn =""
Do Until rs.EOF
    if oldNavn <> rs("fornavn") then
      Response.Write rs("fornavn") & " har disse værdier:<br>"
      oldNavn = rs("fornavn")
    end if

    UDSKRIV ALLE TILHØRENDE VÆRDIER OG HOP TIL NÆSTE BRUGER

   
  RS.MoveNext
  if not RS.EOF then
    if oldNavn <> rs("fornavn") then
      Response.Write "<br>"
    end if
  end if
Loop
Avatar billede kimlarsen1978 Nybegynder
12. maj 2006 - 17:00 #5
Jamen "12/05-2006 16:36:07" er bare 10 4 - mange tak :-)
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