Avatar billede Slettet bruger
28. marts 2003 - 13:41 Der er 15 kommentarer og
1 løsning

SQL - der gør 2 ting på een gang

Jeg mangler syntaksen på følgende sql problem:

Jeg har en menu der skal vises på skærmen, det samme skal ske når man er logget ind med et password. Når man er logget ind får man et session ID der fortæller hvilken menu der er ens hemmelige menu og denne hemmelige menu skal derfor også vises.
Jeg har et felt i min db der hedder VIP som indikerer at dette er en hemmelig menu der kun skal vises når man logger ind.

Min sql skal altså hvis man er logget ind hente alle menuer som er offentlige og den menu der matcher session ID.

Her er et forslag som desværre kun henter den hemmelige:

SQL = "Select * from menu where Godkendt = True And ID = session("VIP")"

Er det ikke noget med noget paranteser eller noget???
Avatar billede ellebaek Nybegynder
28. marts 2003 - 13:47 #1
SQL = "Select * from menu where Godkendt = True And ID = " & session("VIP")
Avatar billede Slettet bruger
28. marts 2003 - 13:51 #2
Nej ikke helt...din sql henter kun menuen hvor ID = session("VIP") og ikke alle de andre menuer hvor Godkendt = True
Avatar billede ellebaek Nybegynder
28. marts 2003 - 13:53 #3
SQL = "Select * from menu where Godkendt = 'True' And ID = " & session("VIP")
Avatar billede Slettet bruger
28. marts 2003 - 13:55 #4
Sådan ser min sql ud ligenu:

MenuSQL = "Select * from menu where WebType1 = "&session("WebType")&" OR WebType2 = "&session("WebType")&" OR WebType3 = "&session("WebType")&" OR WebType4 = "&session("WebType")&" Or WebType5 = "&session("WebType")&" AND ID = "&session("VIP")&" Order by Sortering"
Avatar billede ellebaek Nybegynder
28. marts 2003 - 14:05 #5
hvad indeholder din session ??
tal / bogstaver ??
Avatar billede ellebaek Nybegynder
28. marts 2003 - 14:16 #6
MenuSQL = "Select * from menu where WebType1 = '"&session("WebType")&"' OR WebType2 = '"&session("WebType")&"' OR WebType3 = '"&session("WebType")&"' OR WebType4 = '"&session("WebType")&"' Or WebType5 = '"&session("WebType")&"' AND ID = "&session("VIP")&" Order by Sortering"

Hvis din session("WebType") er en streng og VIP er tal...
MenuSQL = "Select * from menu where WebType1 = "&session("WebType")&" OR WebType2 = "&session("WebType")&" OR WebType3 = "&session("WebType")&" OR WebType4 = "&session("WebType")&" Or WebType5 = "&session("WebType")&" AND ID = "&session("VIP")&" Order by Sortering"

Hvis alle sessions er tal...

MenuSQL = "Select * from menu where WebType1 = '"&session("WebType")&"' OR WebType2 = '"&session("WebType")&"' OR WebType3 = '"&session("WebType")&"' OR WebType4 = '"&session("WebType")&"' Or WebType5 = '"&session("WebType")&"' AND ID = '"&session("VIP")&"' Order by Sortering"

alle tekst

MenuSQL = "Select * from menu where WebType1 = "&session("WebType")&" OR WebType2 = "&session("WebType")&" OR WebType3 = "&session("WebType")&" OR WebType4 = "&session("WebType")&" Or WebType5 = "&session("WebType")&" AND ID = '"&session("VIP")&"' Order by Sortering"
webtype = tal VIP = tekst
Avatar billede Slettet bruger
28. marts 2003 - 14:17 #7
tal.
Men jeg har måttet ændre lidt i min struktur. Dette giver dog stadig det samme sql problem.

Jeg skal have sqllen til at hente alle menuer og hvis der er en session("VIP") skal den hente alle menuer men også de hemmelige...

det er humlen i mit soørgsmål.
Avatar billede Slettet bruger
28. marts 2003 - 14:19 #8
men ellebaek...har du ikke bare kopieret min sql? Jeg kan ikke se forskellen....?
Avatar billede ellebaek Nybegynder
28. marts 2003 - 14:23 #9
der er ' rundt omkring i sql'en...

MenuSQL = "Select * from menu where WebType1 = "&session("WebType")&" OR WebType2 = "&session("WebType")&" OR WebType3 = "&session("WebType")&" OR WebType4 = "&session("WebType")&" Or WebType5 = "&session("WebType")&" OR ID = "&session("VIP")&" Order by Sortering"

Prøv lige denne sql ...
Avatar billede Slettet bruger
28. marts 2003 - 14:32 #10
Ja men som sagt var jeg nødt til at ændre i min struktur hvorfor nedenstående sql skal bruges. Dog er det stadig problemet med først at hente de hemmelige menuer dernæst at hente resten af menuerne.

Nedenstående henter alle de hemmelige men ikke de offentlige.

MenuSQL = "Select menu.ID AS menID1, * from menu INNER JOIN VIPmenuer ON menu.ID = VIPmenuer.MenuID where WebType1 = "&session("WebType")&" OR WebType2 = "&session("WebType")&" OR WebType3 = "&session("WebType")&" OR WebType4 = "&session("WebType")&" Or WebType5 = "&session("WebType")&" Order by Sortering"
Avatar billede ellebaek Nybegynder
28. marts 2003 - 14:37 #11
Problemet med din sql er som jeg ser den at den finder alle felterne hvor VIP er på, men kun de menuer hvor webType er accepteret...
Derfor vil jeg foreslå dig at ændre din sql op database til at du kun har 3 felter i din db...
Et felt der har menuen. Et felt der har webTypen, samt et id...

I stedet for så at have webType1, webType2, osv. så har du kun et felt og så finder du med denne sql.
"select * from TABEL where webType = " & session("webtype") & " OR webType = " & session("VIP")
Avatar billede Slettet bruger
28. marts 2003 - 14:44 #12
Jeg har to tabeller min menu dannes ud fra.

Tabel 1 = Menu Indeholder: MenuID,MenuNavn,VIP,WebType1,WebType2,...-5

Tabel 2 = VIPmenuer indeholder: ID,UserID,MenuID

UserID i tabellen udgør session("VIP")
WebType er de 5 forskellige websites der kan oprettes

Den sql jeg sidst har postet henter alle de menuer fra VIPmenuer men ikke dem fra Menu.

Problemet er derfor at den skal hente alt fra Menu samt alt fra VIPMenu når session("VIP") er aktiv
Avatar billede ellebaek Nybegynder
28. marts 2003 - 14:55 #13
Jeg tror ikke jeg kan hjælpe dig med det..
Synes det virker lidt sort, men det kan være fordi jeg ikke kan forestille mig hvad der skal ske.
Beklager...
Avatar billede Slettet bruger
28. marts 2003 - 15:06 #14
ellers tak for hjælpen...nu virker det...

Jeg var nødt til at dele sqllen op i to.
Avatar billede ellebaek Nybegynder
28. marts 2003 - 15:08 #15
hvordan kom den til at se ud ?
Avatar billede Slettet bruger
28. marts 2003 - 15:22 #16
SQLVIP = "Select * from VIPRoller where LoginID = "&session("VIP")&""
Set RSVIP = Conn.execute(SQLVIP)

MenuSQL = "Select Kategori.ID AS KatID1, * from Kategori  where WebType1 = "&session("WebType")&" OR WebType2 = "&session("WebType")&" OR WebType3 = "&session("WebType")&" OR WebType4 = "&session("WebType")&" Or WebType5 = "&session("WebType")&" AND ID = "&RSVIP("MenuID")&" Order by Sortering"
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