Avatar billede _petrucci Nybegynder
14. januar 2002 - 11:48 Der er 6 kommentarer og
1 løsning

Loop og tabeller

Hejsa :)

Jeg skal have lavet følgende:

Der skal udtrækkes alle poster fra en tabel, hvor hovedid-nummeret er det samme (f.eks. 100250). De forskellige poster har forskellige brugerid/brugernavne.

Eksempel:
Bruger #01 kan have skrevet 6 nyheder i den kategori der hedder 100250.
Bruger #02 har kun skrevet 2 nyheder i samme kategori
osv.

Nu skal jeg så lave et udtræk så det kommer til at se ud på følgende måde:

Navn: Svend Svendsen
--------------------
Postid 14 - hele rækken
Postid 12 - hele rækken
osv..
(dvs. alle nyhederne)

<br><br>

Navn: Palle Pallesen
--------------------
Postid 17....
postid 11...
osv.

-
Altså kort og godt...de skal deles op efter brugerid/navne og laves en tabel til hver bruger ned ad siden indeholdende header samt postindhold.

Ved ikke om det er beskrevet klart nok - men jeg har fået det til at virke så langt at jeg kan lave udtræk på ALLE posterne og få dem listet efter hinanden...men de er jo så ikke brugeropdelt. Det er noget med et loop i et loop?

Forslag?
Avatar billede zeptic Nybegynder
14. januar 2002 - 11:52 #1
Så skal du i din sql-sætning nok gøre brug af \"group by brugerid, postid\", og så skrive brugerens navn når du har at gøre med et brugerid som er forskelligt fra det foregående. Hvis du laver et loop i et loop tager det lang tid
Avatar billede cool_casper Nybegynder
14. januar 2002 - 11:53 #2
Kan du ikke bare sige:

SQL = \"SLECT * FROM tabelnavn WHERE cat=\'12456\'\"

DO While rs(\"BrugerID\") = \"Svend\"

rs.MoveNext
Loop

Eller er det mig der har forstået det forkert....??
Avatar billede hirtshals Nybegynder
14. januar 2002 - 11:55 #3
Det du skal gøre når du looper er flg

do while not rs.eof

if rs(\"hovedid\") = strID
\'Stadig den samme bruger - derfor en ny tr

strTable = strTable  & \"<tr><td>\" & rs(Artikel) & </td></tr>

else
strTable = strTable  & </table><table> - osv
end if
strID = rs(\"hovedid\")

rs.movenext
loop

Håber du forstår klogikken - gemmer din person i en variabel ved næste loop gennemgang - checker du på om det er samme person - hvis det er tilføjer du en ny tr - hvis ikke afslutter du tabeleln og starter en ny

Dit recirdset skal selvfølgelig være sorteret efter hovedid
Avatar billede _petrucci Nybegynder
14. januar 2002 - 12:03 #4
Ikke helt. Lige nu bruger jeg en Do While til at hente alle posterne hvor kategorien hedder 100250. De bliver bare listet lige efter hinanden, f.eks:

| ID 20 | BRUGERID 762 | Palle Pallesen | Nyhedstekst |
| ID 17 | BRUGERID 762 | Palle Pallesen | Nyhedstekst |
| ID 15 | BRUGERID 761 | Svend Svendsen | Nyhedstekst |
| ID 13 | BRUGERID 761 | Svend Svendsen | Nyhedstekst |

Jeg vil gerne have det dynamisk ligesom følgende:
http://www.undetected.dk/test.gif

Dvs. hvis jeg nu sletter brugeren Svend Svendsen, skal den heller ikke tages med i udtrækket næste gang jeg vælger at udtrække alle brugeres poster i denne kategori
Avatar billede _petrucci Nybegynder
14. januar 2002 - 12:09 #5
Den skal vel på en måde finde alle brugerne først...og derefter kategorisere...
Avatar billede _petrucci Nybegynder
14. januar 2002 - 13:03 #6
Kunne selvfølgelig også bare vælge at liste alle brugerne, efterfulgt af en \"12 poster fundet\" tekst og et \"se posterne\" link....men hvodden fikses det?

Så undgik man da loop-in-loop
Avatar billede _petrucci Nybegynder
16. januar 2002 - 13:05 #7
sorry men kunne ikke bruge jeres forslag til noget :(
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