Har 2 st värden i databasen:
grupp1,grupp2
Jag vill kunna välja antingen att session("anv")=antingen grupp1 eller grupp2
Hur skriver jag?
Tack på förhand
3 svar · 181 visningar · startad av clacke
Har 2 st värden i databasen:
grupp1,grupp2
Jag vill kunna välja antingen att session("anv")=antingen grupp1 eller grupp2
Hur skriver jag?
Tack på förhand
Har du lagrat värdet grupp1,grupp2 i en post i din tabell? (Om du har gjort så så tycker jag att du skall ändra din datamodell.)
Beskriv lite mer detaljer, tack.
Ok, ja dom ligger i samma post i databasen.
När jag skriver in en användare så ska denna kunna tillhöra flera olika grupper tex grupp1,grupp2
Beroende på vilken grupp man tillhör så ska man kunna se respektive sida. tillhör jag grupp1 så får jag se sida1 osv
tillhör jag grupp1,grupp2 så får jag se sida1,sida2 osv
om jag tillhör grupp2 så får jag se sida2
När användaren loggar in på sidorna så är det vissa gömda sidor som man se beroende på vilken grupp man tillhör.
Det är ju inga problem när man bara tillhör 1 grupp men det blir värre när man ska tillhöra flera grupper.
Det är då man skapar en relationstabell
create table memberInGroup(username <type>,
groupname <type>)
Om en person är medlem i flera grupper så lagrar man flera poster i tabellen.
Om du vill ha alla som är medlem i grupp1 eller grupp2
select username from memberInGroup
where groupname in ('grupp1','grupp2')
I exemplet spå förutsatte jag att du lagrar username och gruppnamnet direkt, men du kanske har så att du har ett userid (räknare) för varje användare och ett gruppid för varje
grupp. I så fall har man tre tabeller
create table users(userid int identity, username varchar(20), ....) -- primary key etc
create table groups(groupid int identity, groupname varchar(20), ... ) -- primary key etc
create table memberInGroup(userid int,groupid int,...)
-- foreign keys etc (
och då för att få alla som är med i grupp1 eller grupp2
[kod]
select username from users
where userid in (select userid from memberInGroup mig,
groups g
where g.groupid = mig.groupid
and mig.groupname in ('grupp1','grupp2')
[/kop]
Den modellen innebär att du t.ex. har lättare att byta namn på en grupp för du behöver bara ändra på ett ställe.