Avatar billede nogetfx Nybegynder
04. marts 2005 - 10:51 Der er 6 kommentarer og
1 løsning

Medlem af flere grupper

Jeg har 3 tabeller, en med grupper, en med kunstnere og en med sange. Jeg vile helst undgå at have flere poster med samme indhold, derfor har jeg kunstnere i en seperat tabel. Mit problem er hvordan jeg får listet de kunstnere der tilhører en bestemt gruppe, grupper der bliver oprettet dynamisk. Så jeg kan ikke bare sætte et kryds i et felt, da en kunstner kan være medlem af flere grupper. Og kan have sange i forskellige grupper

Det tabeller jeg har:

Glyd (grupper)        Kunstnere      Sange
  GID                    ID            ID
  head                  head          head
  cat                    txt            txt
                                        KID (kunstnere)
                                        GID (Gruppe ID)

Det med sange, der tilhører hvilke gruppe og knustner er jo meget ligetil da en sang kun høre ind under en gruppe/kunstner. Men hvordan jeg får regnet det andet ud aner jeg ikke lige. Det skulle gerne ende ud med at jeg kan lave en sql-sætning noget ala. SELECT top 8 * FROM kunstnere where XXX = 'rock' )noget i den stil..)

/Lars
Avatar billede lund_dk Praktikant
04. marts 2005 - 14:31 #1
lytter med
Avatar billede tjaz Nybegynder
05. marts 2005 - 00:58 #2
Du kan lave dine felter som du afkrydser i med samme navne:

eks:

<input type="checkbox" name="gruppe" value="rock">
<input type="checkbox" name="gruppe" value="punk">

Hvis du så sætter kryds i begge vil du få et output (Request.Form("gruppe")) som gerne skulle ligne noget i den her stil:

rock,punk

Det kan du så tilføje din db og senere trække ud fra den (her skrives rs("gruppe")) ... og så er det jo bare at skille dem ad som et array hvis de skal udskrives med:

arrGrupper = Split(rs("gruppe"), ",")
For t = LBound(arrGrupper) to UBound(arrGrupper)
response.write "Med i gruppen: "& arrGrupper(t) &"<br>"
Next

Hvis du så skal udskrive nogle som er med i gruppen rock kan du fx gøre følgende med mySQL:

SELECT * FROM kunstnere WHERE InStr(gruppe) = 'rock'

Håber du kan bruge det til noget :)
Avatar billede nogetfx Nybegynder
05. marts 2005 - 19:43 #3
det virker meget fornuftigt... Jeg har hørt at dynamiske array i ASP, skulle æde en del på serveren. Men er det minimalt?

InStr(gruppe)?
gruppe går jeg udfra et feltnavn i min DB. Hvad er InStr? En fuktion i ASP?

/Lars
Avatar billede tjaz Nybegynder
05. marts 2005 - 22:29 #4
Jeg kan oplyse at jeg har brugt arrays en del, men har ikke opdaget at det æder en del på serveren ... og ja InStr er en funktion i asp
Avatar billede nogetfx Nybegynder
06. marts 2005 - 16:47 #5
Hvis du kan det i hovedet ville jeg sætte stor pris på en cirka-kode på hvordan man sletter FX rock. Hvis der nu står: punk,rock,pop


/Lars
Avatar billede tjaz Nybegynder
06. marts 2005 - 21:25 #6
Hvis du har en update af databasen og fjerner et hak i input som har value rock burde den bare lave stregen om til punk,pop ?
Avatar billede nogetfx Nybegynder
06. marts 2005 - 22:06 #7
Ahh ja, selvfølgelig. jeg sikfter jo bare hele stringen. Jeg tænkte på at jeg skulle søge efter det ene ord og så fjerne det.

Takker, du er en ven af folket...
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