v3g4rd Skrevet 25. september 2007 Del Skrevet 25. september 2007 (endret) Hei folkens, Jeg holder på å sette opp en ganske diger database hvor hver person skal kunne ha flere roller. Med rolle mener jeg for eksempel "Student", "Professor", "Forskningsassistent", "Avdelingsleder" osv. Poenget er at hver bruker skal kunne ha flere roller, altså en bruker som er "Student", skal også kunne være "Forskningsassistent", og en annen bruker som er "Professor" også skal kunne være "Avdelingsleder". For ordens skyld, har jeg splittet databasen min opp i flere deler, hvor jeg har en egen tabell med kun roller, altså: rolleid=1|rolle="Student" rolleid=2|rolle="Forskningsassistent" rolleid=3|rolle="Professor" rolleid=4|rolle="Avdelingsleder" [...] og en annen tabell som inneholder brukerdata: brukerid=1|navn="Per Persen"|rolle="1" brukerid=2|navn="Kåre Kåresen"|rolle="2" brukerid=3|navn="Frode Frodesen"|rolle="3" brukerid=4|navn="Kjell Kjellsen"|rolle="4" Det jeg har litt problemer med å få til er hvis bruker1, som er student - også skal kunne være forskningsassistent.. Går det an å legge til et array for rollefeltet slik at: rolle[0]=1 rolle[1]=2 ?? I såfall, vet noen hvordan det gjøres? Vet ikke om jeg klarte å formulere dette helt korrekt, men hvis dere ikke forstår hva jeg vil fram til, spør ivei, og jeg skal prøve å forklare bedre. På forhånd, takk. Endret 25. september 2007 av v3g4rd Lenke til kommentar
roac Skrevet 25. september 2007 Del Skrevet 25. september 2007 Du bør ha en egen tabell for knytning mellom person og rolle, all den tid du har en mange til mange relasjon her. Lenke til kommentar
v3g4rd Skrevet 25. september 2007 Forfatter Del Skrevet 25. september 2007 Du bør ha en egen tabell for knytning mellom person og rolle, all den tid du har en mange til mange relasjon her. 9569855[/snapback] Kan du utdype det svaret ditt litt? Vet ikke helt om jeg forstår hva du mener.. Lenke til kommentar
roac Skrevet 25. september 2007 Del Skrevet 25. september 2007 Du bør ha en egen tabell for knytning mellom person og rolle, all den tid du har en mange til mange relasjon her. 9569855[/snapback] Kan du utdype det svaret ditt litt? Vet ikke helt om jeg forstår hva du mener.. 9569867[/snapback] Du har en tabell med referanse til hver av de to andre tabellene, og så setter du inn en rad i denne for hver kobling. F eks Person 3 mot rolle 4. Ikke for å være frekk, men dette er MEGET grunnleggende databaseteori, så jeg drister meg også til å nevne at du skal bruke databaseserveren for å knytte sammen dataene når du gjør utvalg, da f eks med bruk av inner join og where-clause. Hvis dette skulle være helt ukjent for deg, så vil en introduksjonsbok til databaser klart være å anbefale. Lenke til kommentar
TheClown Skrevet 25. september 2007 Del Skrevet 25. september 2007 Hvor mange forskjellige roller kan en persjon ha da? Lenke til kommentar
Manfred Skrevet 25. september 2007 Del Skrevet 25. september 2007 Hvor mange forskjellige roller kan en persjon ha da? 9573170[/snapback] Akkuat det bør jo ikke ha noe å si... Brukere -------- Brukerid navn Brukere_X_Titler ------------------ fk_brukerid fk_tittelid Titler ------ tittelid tittel Da kan du knytte så mange titler til en person du bare måtte ønske, på samme måte knytte så mange personer du bare vil mot en tittel. Lenke til kommentar
v3g4rd Skrevet 25. september 2007 Forfatter Del Skrevet 25. september 2007 Du har en tabell med referanse til hver av de to andre tabellene, og så setter du inn en rad i denne for hver kobling. F eks Person 3 mot rolle 4. Ikke for å være frekk, men dette er MEGET grunnleggende databaseteori, så jeg drister meg også til å nevne at du skal bruke databaseserveren for å knytte sammen dataene når du gjør utvalg, da f eks med bruk av inner join og where-clause. Hvis dette skulle være helt ukjent for deg, så vil en introduksjonsbok til databaser klart være å anbefale. 9569955[/snapback] Du har rett i at jeg er ganske fersk innen databaser, da jeg egentlig holder på å lære meg php og mysql ved å jobbe med et prosjekt og prøve meg frem. Jeg er derimot delvis kjent med mysql-syntax, og benytter blant annet WHERE for å koble sammen to av tabellene mine, slik at resultatet etter spørringen blir f.eks: "Per Persen"|"Student" fremfor "Per Persen"|1. Jeg bruker boka "Beginning PHP5, Apache, and MySQL Web Development 2005" som lærebok, men jeg har ikke funnet noe eksempel som viser hvordan det lar seg gjøre å føye på flere roller pr. bruker. Uansett, skal jeg fundere litt på svarene deres, og prøve meg litt til for å se om jeg får det til. Takk for svar! Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå