Avatar billede chrisrj Forsker
16. januar 2020 - 13:20 Der er 4 kommentarer og
1 løsning

String med id'er i specifik rækkefølge

Hejsa

Jeg har et problem, som jeg ikke helt ved hvordan jeg skal løse.

Det handler om at sætte id'er i en rækkefølge valgt af brugeren.

Til det har jeg to kolonner i en tabel som indeholder id'et på den række den skal peje på/alternativ række. Jeg har også et par kolonner der indikere om det er første eller sidste id.
Derudover har jeg en anden tabel som indeholder den samlede rækkefølge som en string i en celle.


Det virker fint, så længe alt er indtastet i rette rækkefølge. Men det hverken kan eller vil jeg kunne leve med i længden.

Så hvordan løser jeg det bedst? Der vil være tale om op til 1000 id'er, worst case.


Eksempeldata:
tabel1
id, id_til_næste, id_til_næste_alternativ, start, slut
1,2,0,1,0
2,3,4,0,0
3,5,0,0,0
4,0,0,0,1
5,0,0,0,1

tabel2
id_string
1,2,3,4,5

Umiddelbart tænker jeg at traversere alle rækkerne og lave en "sti", men det lyder frygteligt langsomt i mine øre. :-/ Især taget i det tragtning af, at det jo skal gentages hver gang rækkefølgen ændres.

Håber det giver mening? :D
Avatar billede Rune1983 Ekspert
16. januar 2020 - 14:19 #1
Synes det er lidt kringlet den måde du beskriver det på. Så ved ikke om jeg har forstået dit problem helt korrekt.

Mulig løsning nr. 1
Men umiddelbart ... fjern komma fra string og brug så det tal du ender op med som ID?

Mulig løsning nr. 2
Lave et ID som er sammensat af flere IDer.
BrugerID AfdelingID Counter
eks.
BrugerID: 015
AfdelingID: 006
Counter: Næste nummer i rækken. 0001, 0002, 0003
Samlet ID: 0150060001
Her ved DU så at bruger ID er de første 3, Næste 3 er afdeling og de sidste er Counter.
Avatar billede chrisrj Forsker
16. januar 2020 - 14:25 #2
Jah, det lyder i hvert fald som om du har misforstået det lidt. :)

Der er tale som om spørgsmål i et spørgeskema.

Vedr. 1): Det er id'erne er der i stringen. ;)

Problemet handler om at genopbygge stringen når rækkefølgen af id'erne ændrer sig.
Avatar billede Rune1983 Ekspert
16. januar 2020 - 14:32 #3
Hehe. Ja det kan godt være kringlet at beskrive et problem.
Prøv giv eksempel.
tabel1
id, id_til_næste, id_til_næste_alternativ, start, slut
1,2,0,1,0
2,3,4,0,0
3,5,0,0,0
4,0,0,0,1
5,0,0,0,1

Vi indsætter 1,2,0,1,1
tabel1
id, id_til_næste, id_til_næste_alternativ, start, slut
1,2,0,1,0
1,2,0,1,1
2,3,4,0,0
3,5,0,0,0
4,0,0,0,1
5,0,0,0,1

Hvad er det så du ønsker?
Avatar billede chrisrj Forsker
16. januar 2020 - 14:40 #4
Hehe ;)

Does not compute! ;)

Lad mig prøve... :D

Før:
tabel1
id, id_til_næste, id_til_næste_alternativ, start, slut
1,2,0,1,0
2,3,4,0,0
3,5,0,0,0
4,0,0,0,1
5,0,0,0,1

tabel2
id_string
1,2,3,4,5

efter (spg 2 fjernes og spg 6 oprettes i stedet):
tabel1
id, id_til_næste, id_til_næste_alternativ, start, slut
1,6,0,1,0
3,5,0,0,0
4,0,0,0,1
5,0,0,0,1
6,3,4,0,0

tabel2
id_string
1,6,3,4,5

næste gang(spg 4 rettes og spg 7 oprettes som ny "slut"):
tabel1
id, id_til_næste, id_til_næste_alternativ, start, slut
1,6,0,1,0
3,5,0,0,0
4,7,0,0,0
5,0,0,0,1
6,3,4,0,0
7,0,0,0,1

tabel2
id_string
1,6,3,4,5,7 <- der er jeg ikke heelt sikker på hvordan den skal være...

1,6,3,5,4,7 <- også en mulighed. Nok bedre! :D
Avatar billede chrisrj Forsker
17. januar 2020 - 13:23 #5
Nå, jeg har fundet ud af, at jeg rent faktisk ikke behøver denne overkomplicerede string alligevel. :)

Jeg skal ikke bruge hele rækken af id'er på een gang når det kommer til stykket.
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

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