Avatar billede Slettet bruger
26. april 2002 - 16:54 Der er 10 kommentarer og
1 løsning

if betingelse ??+

Hej ekspreter....


jeg skal bruge en if betingelse der skal unde søge om der er nogen forekomster med et id, og så udskrive dette, og hvis der ingen er skal den in´ntet gøre... hvordan gøres dette ?

er lidt newbei til dette


mvh.

www.questis.dk
Avatar billede larsen1 Nybegynder
26. april 2002 - 17:05 #1
Hvis jeg forstår dig ret, så er det noget i denne stil.
<%
    set con = Server.CreateObject("ADODB.Connection")
    con.open(dsn)

            sql = "select * from bruger where id=" & request("id")
            set r = con.execute(sql)
           
    if not r.eof then
        do while not r.eof

response.write r("brugernavn") & "<p>"

            r.movenext
        loop
    end if

            r.close
            set r = nothing
con.close
set con=nothing
%>

/simon
Avatar billede Slettet bruger
26. april 2002 - 17:06 #2
whow, små bider hvis du gider.... jeg er ikke så stabil i dette endnu, kunne det tænkes at du lige vil forkalre det du lige smed der ???
Avatar billede larsen1 Nybegynder
26. april 2002 - 17:14 #3
Yes - det gider jeg.

Du opretter en forbindelse til din database. Det går jeg næsten ud fra at du kan.... Men du laver en sql-forespørgsel i stil med denne, som vælger det ud fra databasen, hvor id-nummeret er det du leder efter. Sidekaldet kan f.eks. hedde: index.asp?id=15
sql = "select * from bruger where id=" & request("id")
            set r = con.execute(sql)


    if not r.eof then
betyder: Hvis resultatet af forespørgslen ikke er tom. (eof = end of file)


      do while not r.eof
Betyder: gør det her, for alle poster der passede til forespørgslen


response.write r("brugernavn") & "<p>"
Skriv en felt fra denne post i databasen


        r.movenext
gå til næste post


        loop <- peger tilbage på din do-sætning

  end if<- peger tilbage på din if-sætning

Det sidste er bare for at lukke din databaseforbindels og recordset.
            r.close
            set r = nothing
con.close
set con=nothing


Var det til at forstå?
Avatar billede Slettet bruger
26. april 2002 - 17:16 #4
jeps... nu skal jeg bare have det til at virke &:-D
Avatar billede larsen1 Nybegynder
26. april 2002 - 17:18 #5
Er du helt med på hvordan du laver forbindelsen til databasen?

Jeg har en global variabel der hedder dsn som ser således ud.

vPath = "database\bruger.mdb"
pPath = Server.MapPath( vPath )
dsn = "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" & pPath & ";" & "JET OLEDB:Database Password=****"
Avatar billede Slettet bruger
26. april 2002 - 17:19 #6
ligner ikke mit..... har nu prøvet at strikke din kode ind... men siden vil ikke vises

koden:

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("forum.mdb")
Conn.Open DSN

' Hent fra databasen afhængig af værdien id fra URL
strSQL = "Select * From forum Where [svar_id] = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)

    if not rs.eof then
        do while not rs.eof

response.write "<tr><td colspan='2'><table cellpadding='2' cellspacing='0' width='100%'><tr><td valign='top' width='25%' style='border-bottom: 1 solid #000000;'><h2>"

dim svar
svar = rs("navn")

'fjern html
svar = ClearHTMLTags(svar,2)

'Udskriver beskeden uden HTML tags
Response.Write(svar)

response.write "</h2></td><td style='border-bottom: 1 solid #000000;' width='75%'><h2>"
dim besked
besked = rs("besked")
'fjern html
besked = ClearHTMLTags(besked,2)

'www funktion
besked = LinkString(besked)

'Linieskift
besked = Replace(besked,chr(13),"<br>")

'Udskriver beskeden uden HTML tags
Response.Write(besked)
response.write "</h2></td></tr></table></td></tr>"

  rs.MoveNext
Loop While Not rs.EOF

    end if

Conn.Close
Set Conn = Nothing

tror måske ikke jeg er helt med
Avatar billede larsen1 Nybegynder
26. april 2002 - 17:21 #7
Får du en fejlmeddelelse?
Avatar billede Slettet bruger
26. april 2002 - 17:22 #8
nej... jeg får intern serverfejl ud af det...
Avatar billede larsen1 Nybegynder
26. april 2002 - 17:23 #9
Loop While Not rs.EOF skal være bare være "loop"

Ellers er det dobbeltkonfekt

Du kan også vælge at
do while not rs.eof bare er "do"

Det giver samme resultat
Avatar billede Slettet bruger
26. april 2002 - 17:25 #10
helt perfekt larsen mange tak for din hjælp og gode vejledning.
Avatar billede larsen1 Nybegynder
26. april 2002 - 17:26 #11
Det var så lidt....
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