Avatar billede kjaergaardanders Nybegynder
24. februar 2009 - 14:41 Der er 3 kommentarer og
1 løsning

loop af rs sætning ind i en sql select sætning

jeg har 2 select sætninger, den første udvælger gruppen af artikler, den anden select sætning vælger alle artikler og billeder fra db, ud fra gruppen.

problemet er at varRsVis = rsVis("aid")laver ingen loop, den udskriver kun den første eller sidste post i tabellen, som passer til den gruppe jeg vil udskrive, jeg vil gerne have den til at loop alle artikler som høre ind under den gruppe ?

case "vis"   
   
    varGruppe = Request.QueryString("gruppe")
    sqlVis = "SELECT * FROM tbartikel WHERE tbartikel.gruppe="&varGruppe&" "
    set rsVis = conn.execute(sqlVis)
   
    varRsVis = rsVis("aid")
   
   
    sqlartikel = "SELECT * FROM tbbilleder, tbartikel WHERE tbartikel.aid="&varRsVis&" AND tbbilleder.bartikel="&varRsVis&""
    set rsartikel = conn.execute(sqlartikel)   
   

    do until rsartikel.eof
    %>
    <div id="blaarammetilgalleri">
    <%=rsartikel("overskrift")%>
    </div>
    <div id="teksttilgalleri">
    <%=rsartikel("brodtekst")%>
    </div>   
    <div id="billedetilgalleri">
      <img src="upload/<%=rsartikel("bnavn")%>.jpg" />
    </div>               
    <%
    rsartikel.movenext
    loop
    %>
Avatar billede softspot Forsker
24. februar 2009 - 14:56 #1
Det ser for mig ud til at du laver lidt dobbeltarbejde med dine SQL-sætninger. Jeg vile umiddelbart bare lave en JOIN mellem billeder og artikel og så iterere igennem resultatet...


case "vis"   
   
  varGruppe = Request.QueryString("gruppe")

  if not isnumeric(varGruppe) then
    ' STANDS forsøg på "snyd"...
    Response.Write "Ugyldig gruppe!"
    Response.End
  end if

  sqlartikel = "" & _
      "SELECT * " & _
      "FROM tbbilleder b " & _
      "INNER JOIN tbartikel a ON a.id = b.aid " & _
      "WHERE a.gruppe = " & varGruppe
  set rsartikel = conn.execute(sqlartikel)   

  do until rsartikel.eof
    %>
    <div id="blaarammetilgalleri">
    <%=rsartikel("overskrift")%>
    </div>
    <div id="teksttilgalleri">
    <%=rsartikel("brodtekst")%>
    </div>   
    <div id="billedetilgalleri">
      <img src="upload/<%=rsartikel("bnavn")%>.jpg" />
    </div>               
    <%
    rsartikel.movenext
  loop
  rsartikel.close
  set rsartikel = nothing
  conn.close
  set conn = nothing
%>

Grunden til at din egen version ikke fungerer er dog, at du ikke itererer over rsVis-resultatet, men kun aflæser den første rækkes id. Du skulle altså have en løkke mere ind i din egen kode for at det skal fungere. Jeg vælger dog at illustrere en mere effektiv metode for dig i mit eksempel... :-)
Avatar billede kjaergaardanders Nybegynder
24. februar 2009 - 15:06 #2
yes det virker :-) tak for det, smid et svar.
Avatar billede softspot Forsker
24. februar 2009 - 15:12 #3
Velbekomme :-)
Avatar billede softspot Forsker
24. februar 2009 - 15:39 #4
Tak for 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