28. marts 2003 - 13:41Der 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???
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
SQL = "Select * from menu where Godkendt = 'True' And ID = " & session("VIP")
Synes godt om
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"
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
Synes godt om
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.
Synes godt om
Slettet bruger
28. marts 2003 - 14:19#8
men ellebaek...har du ikke bare kopieret min sql? Jeg kan ikke se forskellen....?
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 ...
Synes godt om
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"
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")
Synes godt om
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
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...
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"
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.