Avatar billede Slettet bruger
04. februar 2008 - 11:50 Der er 5 kommentarer og
1 løsning

Dynamiske attributter

Jeg skal lave et system, hvor de "felter" brugeren har at indtaste i skal kunne omdefineres af brugeren.

F.eks.. "tilføj felt til adresseoplysning"... "fjern felt til angivelse af email adresse".

Hvordan laver jeg en table som kan udvides og trækkes sammen alt efter brugerens ønsker?
Avatar billede pierrehusted Nybegynder
04. februar 2008 - 13:01 #1
Du kan f.eks. lave to tabeller:

BRUGER
id int
oprettet_dato datetime

BRUGER_POSTER
id int
oprettet_dato datetime
bruger_id int
tekst varchar(255)
indhold varchar(512)

Så opretter du en post i den første tabel når brugeren oprettes (der kan eventuelt være flere felter i den, hvis der er oplysninger, som findes på alle brugere). Når der skal tilføjes data, så sætter du dem ind i den anden tabel - med id fra BRUGERE i bruger_id feltet.

Giver det mening?
Avatar billede Slettet bruger
04. februar 2008 - 13:26 #2
Ja lidt... men bliver det ikke meget svært at søge i bagefter.... hvis jeg skal finde noget hvor (tekst) = (et eller andet). Så kan jeg jo ikke bare lave en standard SELECT FROM.
Avatar billede pierrehusted Nybegynder
04. februar 2008 - 13:40 #3
SELECT *
FROM Bruger_Poster
WHERE tekst = 'Navn'
AND indhold = 'Hans Jensen'

eller alle brugerens oplysninger:

SELECT *
FROM Bruger_Poster
WHERE bruger_id in (
SELECT bruger_id
FROM Bruger_Poster
WHERE tekst = 'Navn'
AND indhold = 'Hans Jensen'
)

Hvis du har oplysninger i BRUGER tabellen, så skal du også lige JOINe til den.

Men en mulighed var også at erstatte TEKST feltet med et TEKST_ID, og så lade de mulige TEKSTer ligge i en tredie tabel. Så få du lidt nemmere ved at søge (hvis brugerne ikke får lov til at indtaste TEKSTen).
AND indhold = 'Hans Jensen'
Avatar billede Slettet bruger
04. februar 2008 - 13:51 #4
Ja OK... men ved den løsning du foreslår, der har alle "Bruger" sit eget set attributter. Jeg har brug for at kunne ændre attributter som så gælder for alle brugere. Hvis du forstår forskellen.
Avatar billede hrc Mester
04. februar 2008 - 13:56 #5
Så må du have en overordnet bruger som de andre kopierer hvis de ikke selv har sat nogen, eller lave tilsvarende felttilknytning på dine grupper
Avatar billede Slettet bruger
04. februar 2008 - 14:00 #6
Ja jeg kunne nok modificere den foreslåede stuktur så den passer til mine behov. Det er jo faktisk en adgrænsning af pierrehusted's forslag jeg søger og ikke en udvidelse. Jeg prøver at angribe det fra den vinkel. Tak for inspiration.
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
Computerworld tilbyder specialiserede kurser i database-management

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