/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Jeg har problemer med at filtrere poster i~
Fra : kurt-overgaard-ander~


Dato : 16-02-05 22:06

Kære hjælper!

Jeg arbejder på en nyhedsside hvor der dels er indlæg som skal
kunne læses af alle der ser siden - og dels indlæg der kun kan
læses ved at logge ind som f eks "medlem" - med et password.

Jeg har følgende SQLsætning som volder mig problemer -
(sætningen er her brudt op i fragmenter med linieskift)

Artikel.Open "SELECT * FROM PAGES WHERE
(TITLER LIKE " & soegestreng & " OR INDHOLD01 LIKE " &
soegestreng & ")
AND (PERMISSION = '"&ADGANG&"' OR PERMISSION = 'Alle')
AND DatoStart <= NOW AND DatoEnd >= Now ORDER BY DatoEdit " & tid
& " ", database

- PAGES er tabellen jeg henter data fra
- TITLER er et felt i tabellen
- soegestreng et et felt hentet fra en variabel ( er valideret)
- INDHOLD01 er et felt i tabellen
- PERMISSION er et felt fra tabellen
- ADGANG er en variabel der er hentes ved at læse om en
loginsession er sat til "LOGIN"
- DatoStart er et datofelt fra tabellen der fortæller hvornår
siden tidligs skal vises
- DatoEnd er et datfelt fra tabellen der fortæller hvornår siden
senest skal vises
- Dato Edit er et datofelt der fortæller hvornår posten sidst er
rettet

Det jeg ønsker, er at sikre at:
- poster kun vises på datoer fra DatoStart til DatoEnd
- og at poster kun vises hvis hvis indholdet i feltet PERMISSION
er lig med variablen ADGANG (hentes fra loginnavn) eller hvis
PERMISSION er lig med teksten 'Alle'. Altså poster hvor feltet
PERMISSSON er lig med "medlem" skal kun kunne læses af "medlem" -
men hvis det er "Alle" skal det kunne læses af alle - også hvis
man er logget ind som "medlem".

Det volder mig store problemer at få disse disse forskellige
betingelser til at arbejde sammen.

Jeg har søgt efter dokumentation for at opsætte disse
komplicerede betingelser - og tror jeg er kommet noget af vejen
vha parenteser - men jeg kan se at det stadig ikke er alle
betingelser der dur.

Kan nogen af Jer hjælpe
- enten med et link til dokumentation - eller ved at give et tip?

mvh Kurt



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Casper Bang (17-02-2005)
Kommentar
Fra : Casper Bang


Dato : 17-02-05 17:27

> Jeg har søgt efter dokumentation for at opsætte disse
> komplicerede betingelser - og tror jeg er kommet noget af vejen
> vha parenteser - men jeg kan se at det stadig ikke er alle

Umidelbart ser den sætning fin ud - bortset fra at du måske mangler lidt i
dine LIKE-sætninger:
(TITLER LIKE '&" & soegestreng & "&' OR INDHOLD01 LIKE '&" &
soegestreng & "&')

Men ellers, udskriv din SQL-sætning, så vi kan se hvad det er du sender til
databasen. Det vil gøre fejlfindingen nemmere.



kurt-overgaard-ander~ (18-02-2005)
Kommentar
Fra : kurt-overgaard-ander~


Dato : 18-02-05 00:45

Casper Bang wrote in dk.edb.internet.webdesign.serverside.asp:
>
> Men ellers, udskriv din SQL-sætning, så vi kan se hvad det er du sender til
> databasen. Det vil gøre fejlfindingen nemmere.
>
>

Hej Casper - jeg er nok lidt dum - men hvad mener du jeg skal gøre når du
skriver "udskriv din SQL-sætning" ?

mvh Kurt


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Casper Bang (18-02-2005)
Kommentar
Fra : Casper Bang


Dato : 18-02-05 08:34

> Hej Casper - jeg er nok lidt dum - men hvad mener du jeg skal gøre når
> du
> skriver "udskriv din SQL-sætning" ?

Lige før den sætning du åbner forbindelsen i, kører du:

response.write "SELECT * FROM PAGES WHERE
(TITLER LIKE " & soegestreng & " OR INDHOLD01 LIKE " &
soegestreng & ")
AND (PERMISSION = '"&ADGANG&"' OR PERMISSION = 'Alle')
AND DatoStart <= NOW AND DatoEnd >= Now ORDER BY DatoEdit " & tid
& " "

på den måde kan vi se hvad det er du faktisk sender til databasen.



Jens Gyldenkærne Cla~ (18-02-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-02-05 09:30

kurt-overgaard-andersen skrev:

> Hej Casper - jeg er nok lidt dum - men hvad mener du jeg
> skal gøre når du skriver "udskriv din SQL-sætning" ?

Brug fx metoden her <http://asp-faq.dk/article/?id=41>.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

kurt-overgaard-ander~ (19-02-2005)
Kommentar
Fra : kurt-overgaard-ander~


Dato : 19-02-05 01:09

Hej Jens & Casper.

Det tog lidt arbejde at bruge Jeres tips - men det bar frugt!
Jeg fandt fejlen - den lå en fejlagtig variabel der ikke
indeholdt den værdi jeg troede.... og som jeg troede at jeg vha
response.write havde checket... men også her havde stavet
fejl....

Tak igen / Kurt



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jens Gyldenkærne Cla~ (18-02-2005)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 18-02-05 09:31

Casper Bang skrev:


> Lige før den sætning du åbner forbindelsen i, kører du:
>
> response.write "SELECT * FROM PAGES WHERE

Jeg vil klart anbefale at man bruger en variabel, så man er *helt*
sikker på at det man udskriver og den man forsøger at køre er det
samme.

Hvis man skriver hele sætningen to gange, risikerer man let at få
rettet noget et af stederne så udskriften ikke er i
overensstemmelse med kørslen.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177501
Tips : 31968
Nyheder : 719565
Indlæg : 6408522
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste