Avatar billede zantiago Nybegynder
01. januar 2004 - 23:40 Der er 13 kommentarer og
1 løsning

Vis poster hvor hide = false

Hej Eksperter

Jeg laver et udtræk på min side:
--------------------------------
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Provider = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("../../database/forum.mdb")
Conn.Open Provider

SqlStr = "Select * From tblTopic Where Topic_ID IN (Select TOP 10 Topic_ID From tblThread order by Thread_ID DESC);"
Set rs = Conn.Execute(SqlStr)


rs.MoveFirst
do while not rs.eof

forumdate = rs("Last_entry_date")

Response.Write(replace(FormatDateTime(forumdate, 2),"-","."))%>
<br>
<a href="forum_posts.asp?TID=<%=rs("Topic_ID")%>"><%=rs("subject")%></a><br><br>
<%
rs.movenext
loop
%>
--------------------------------

Der er tre tabeller:
tblForum
tblTopic
tblThread

Mit problem er at der i tabellen [tblForum] ligger et felt der hedder hide(yes/no felt).
Hvis man eks har et forum man vil skjule for sine brugere...

Hvordan får jeg det bygget ind i min sætning, så den kun viser de aktive emner der IKKE ligger i et forum hvor feltet HIDE har værdien true???

//Z
Avatar billede eagleeye Praktikant
01. januar 2004 - 23:48 #1
Prøv sådan her:

SqlStr = "Select * From tblTopic Where Topic_ID IN (Select TOP 10 Topic_ID From tblThread where tblTopic.hide=false order by Thread_ID DESC);"
Avatar billede eagleeye Praktikant
01. januar 2004 - 23:49 #2
hov nej det var vist forkert prøv sådan her:

SqlStr = "Select * From tblTopic Where Topic_ID IN (Select TOP 10 Topic_ID From tblThread order by Thread_ID DESC) AND tblTopic.hide=false ;"
Avatar billede eagleeye Praktikant
01. januar 2004 - 23:50 #3
ja så skal false lige være true ;) det går rigtig godt.
Avatar billede zantiago Nybegynder
02. januar 2004 - 00:04 #4
Det må være:
SqlStr = "Select * From tblTopic Where Topic_ID IN (Select TOP 10 Topic_ID From tblThread order by Thread_ID DESC) AND tblForum.hide=true ;"

Ik?
Avatar billede eagleeye Praktikant
02. januar 2004 - 00:07 #5
Ja nemlig jeg kom til at skrive false istedet for.
Avatar billede zantiago Nybegynder
02. januar 2004 - 00:10 #6
Cool - Jeg tester lige :o)
Avatar billede eagleeye Praktikant
02. januar 2004 - 00:21 #7
Skal det egenligt ikke være false ??
For du vil havde de enmer som ikke ligger i et forum hvor hide=true. Så den den skal vise alle hvor hide=false så, eller hvordan var det tænkt?
Avatar billede zantiago Nybegynder
02. januar 2004 - 00:24 #8
Jo det er rigtigt - Men det skal vel ik være:
tblTopic.hide=false

Men:
tblForum.hide=false
Avatar billede eagleeye Praktikant
02. januar 2004 - 00:27 #9
Arh ja.
Så tblThread har en kolonne som indeholder ID'et på det forum emnet tilhøre?
Hvad hedder den kolonne og hvad hedder den tilsvarne kolonne i tblForum?
Avatar billede eagleeye Praktikant
02. januar 2004 - 00:31 #10
Eller det er jo faktisk tblTopic som indeholder forum ID'et.
Avatar billede eagleeye Praktikant
02. januar 2004 - 00:42 #11
Det bliver lidt mere besværligt da man så skal join'e tblForum på tblTopic for du kan få adgang til kolonne hide i tabellen tblForum

Her antager jeg at autonummer kolonnen i tabellen tblForum hedder forum_id og den kolonne i tblTopic som indeholder "linket" til hvilekn Forum en enme er til hedder Forum_ID:


SQL = "SELECT tblForum.hide, * FROM tblForum RIGHT JOIN tblTopic ON tblForum.forum_id = tblTopic.forum_ID WHERE (((tblTopic.Topic_ID) In (Select TOP 10 Topic_ID From tblThread order by Thread_ID DESC)) AND ((tblForum.hide)=False));"
Avatar billede eagleeye Praktikant
02. januar 2004 - 00:45 #12
Den kan skrives lidt mindre sådan her:

SQL = "SELECT * FROM tblForum RIGHT JOIN tblTopic ON tblForum.forum_id = tblTopic.forum_ID WHERE tblTopic.Topic_ID In (Select TOP 10 Topic_ID From tblThread order by Thread_ID DESC) AND tblForum.hide=False;"
Avatar billede zantiago Nybegynder
02. januar 2004 - 00:51 #13
Virker perfekt... Thanx..

Du kan se det i funktion her:
http://zantiago.com/standup

Se i venstre side...

P.S: Kom lige med et svar, så du kan gøre afstanden større til konkurrenterne ;o)
Avatar billede eagleeye Praktikant
02. januar 2004 - 00:54 #14
Ok det kan jeg se på siden.

Her er et svar så ;)
Så det vist også sengetid for mig..
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