Avatar billede bremer Nybegynder
20. juni 2007 - 15:16 Der er 7 kommentarer og
1 løsning

Lidt hjælp til en sqlsætning i et loop

Hej venner!

Jeg sidder her og er ved, at lave en artikelside.

Hertil vil jeg gerne lave en loop som indeholder samme "kategorier" som selv den artikel som man er på.

Sådan her set min sql ud for hele artikelsiden:

                  <%
    SQLserveradr="XXX"
    SQLdatabase="XXX"
    SQLlogin="XXX"
    SQLpassword="XXX"

    Set Conn = Server.CreateObject("ADODB.Connection")

    conStr = "driver={MySql};server="& SQLserveradr &";database="& SQLdatabase
    conStr = conStr & ";uid="& SQLlogin &";pwd="& SQLpassword & ";OPTION=3"

    Conn.Open conStr

strSQL = "select *, k1_1.arknavn as k1_1arknavn, k1_1.id as k1_1id, k1.artkeynavn as k1artkeynavn, k1.id as k1id, k2.artkeynavn as k2artkeynavn, k2.id as k2id, k3.artkeynavn as k3artkeynavn, k3.id as k3id, k4.artkeynavn as k4artkeynavn, k4.id as k4id, k5.artkeynavn as k5artkeynavn, k5.id as k5id from  artikler a left join artikler_kategori_keywords k1 on (a.keywords1 = k1.id) left join artikler_kategori_keywords k2 on (a.keywords2 = k2.id) left join artikler_kategori_keywords k3 on (a.keywords3 = k3.id) left join artikler_kategori_keywords k4 on (a.keywords4 = k4.id) left join artikler_kategori_keywords k5 on (a.keywords5 = k5.id) left join artikler_katagori k1_1 on (a.kategori = k1_1.id) where a.id= '" & Request.Querystring("id") & "'"
'strSQL = "Select * From artikler Where Id = " & Request.Querystring("id")
Set rs = Conn.Execute(strSQL)

Do
    overskrift = rs("overskrift")
    pupdato = rs("pupdato")
    artikeltext = rs("artikeltext")
    keywords1 = rs("k1artkeynavn")
    keywords2 = rs("k2artkeynavn")
    keywords3 = rs("k3artkeynavn")
    keywords4 = rs("k4artkeynavn")
    keywords5 = rs("k5artkeynavn")
    toptext = rs("toptext")
    overskrift = rs("overskrift")
    id1 = rs("k1id")
    id2 = rs("k2id")
    id3 = rs("k3id")
    id4 = rs("k4id")
    id5 = rs("k5id")
    view = rs("view")
    kategori = rs("k1_1arknavn")
    kategoriid = rs("k1_1id")
    arkid = Request.Querystring("id")
   

  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>

Herunder kan du så se, at den værdi som jeg bruger i mit loop til sql sætning er "kategoriid"

Sådan her ser mit loop ud:

<%
    strSQL = "select * from artikler p, artikler_katagori k where p.kategori = '"+kategoriid+ "'"
    Set rs2 = Conn.Execute(strSQL)
    while not rs2.Eof
           
        id = rs2("id")
        arknavn = rs2("arknavn")
%>               
                 
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td width="16%" align="left" valign="middle">
                      <img src="images/iconer/links.jpg" width="24" height="21" /></td>
                      <td width="84%" align="left" valign="middle">
                      <a class="laes_mere" href="artikel_detalje.asp?id=<%=rs2("kategoriid")%>" title="<%=rs2("kategori")%>"><%=rs2("arknavn")%></a></td>
                    </tr>
                  </table> 
        <%
            rs2.moveNext()
        wEnd
        %>

Jeg ved ikke helt om man kan dette men jeg håber i kan hjælpe mig hertil!

/Bremer
Avatar billede w13 Novice
21. juni 2007 - 12:56 #1
strSQL = "select * from artikler p, artikler_katagori k where p.kategori = '"+kategoriid+ "'"

Skal +kategoriid+ ikke være &kategoriid& ?
Og er det gemt som tal i databasen? For så skal der ikke være apostroffer omkring.
Avatar billede bremer Nybegynder
21. juni 2007 - 16:52 #2
jeg få en fejl som skriver sådan her:

Microsoft VBScript runtime error '800a01a8'

Object required

/media/html/artikel_detalje.asp, line 432

Jeg ikke helt hvad betyder :)
Avatar billede w13 Novice
21. juni 2007 - 21:44 #3
Ved du hvilken linje 432 er? :)
Avatar billede bremer Nybegynder
22. juni 2007 - 08:17 #4
431:

strSQL = "select * from artikler p, artikler_katagori k where p.kategori = '"&kategoriid&"'"

432:
Set rs2 = Conn.Execute(strSQL)
Avatar billede w13 Novice
22. juni 2007 - 10:23 #5
Jeg tror at mellemrummet mellem "artikler_kategori" og "k" ødelægger det for dig. Er det 2 forskellige felter, der skal hentes, for så skal du huske at adskille med komma.
Avatar billede bremer Nybegynder
25. juni 2007 - 16:24 #6
Så hvad siger du jeg skal prøve på?

Sådan her!?

strSQL = "select * from artikler p, artikler_katagori k, where p.kategori = '"&kategoriid&"'"
Avatar billede bremer Nybegynder
17. december 2009 - 19:48 #7
Bare skriv et "svar" - de få point... -
Avatar billede w13 Novice
22. december 2009 - 19:28 #8
Her er et svar fra mig, hvis jeg skal have point.
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