Jeg har et system hvor en bruger logger sig på mit website ved hjælp af brugernavn og password. Når dette er gjort får han adgang til menuer der før var skjulte. Det der sker rent teknisk er at når brugeren logger sig på sættes sessionID til en værdi.
Brugeren har i en tabel der hedder VIPRoller på forhånd fået tildelt hvilke menuer han må se.
Hver menu får tildelt en true eller false afhængig om det er en hemmmelig menu
Jeg skal derfor i min menu først tjekke om sessionID > "" og hvis den er skal den hente alle mine generelle menuer samt de VIP menuer brugeren har adgang til.
følgende sætning er forkert men kan måske klarlægge mit problem?
Ellers så spørg endelig
SQL = "Select * from Kategori,VIPRoller where Kategori.ID = VIPRoller.MenuID And Kategori.VIP = False AND VIPRoller.LoginID = "&Session("ID")&""
"SELECT Kategori.*, VIPRoller .* FROM Kategori INNER JOIN VIPRoller ON Kategori.ID = VIPRoller.MenuID where Kategori.VIP = False AND VIPRoller.LoginID = "&Session("ID")&";"
Jeg formoder Session("ID") er et tal - ellers skal du lige have et par ' ' med
Synes godt om
Slettet bruger
26. november 2002 - 15:55#2
Så viser den ingenting...men ingen fejl..
De tre tabeller er:
VIPRoller - ID,LoginID,MenuID (LoginID er brugerens ID og sessionID) Kategori - ID,KatNavn,VIP (VIP afgører om siden er skjult)
Mit ønske er:
1) Tag alt fra kategori og vis det i menuen undtagen de hemmelige sider (VIP) 2) Tag alt fra kategori og VIProller hvor Kategori.ID = VIPRoller.MenuID og hvor VIPRoller.LoginID = session.ID Min sql sætning
hmm man skal bruge LEFT JOIN eller RIGHT JOIN hvis man ikek skal have alt med ud fra begge tabeller mener det er left join du skal bruge, kan ikke lige huske det 100% pluus at select * ikke er en god ide i join sql's
Synes godt om
Ny brugerNybegynder
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.