multiple loops with different conditions whilst querying sql table

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • omar999
    New Member
    • Mar 2010
    • 120

    multiple loops with different conditions whilst querying sql table

    im trying to figure out a way to query sql table several times within the same asp statement. as opposed to opening a new asp statement each time to query sql table again & again etc

    so this is what I want to do in theory

    do while ID 1-6
    do something / perform loop

    do while ID 7-12
    do something / perform loop

    at the moment I can only query table and loop all records and im not sure how to set multiple loops
    Code:
    <%
    DIM objConn
    Set objConn = my conn string goes here
    objConn.Open
    
    DIM ZUIDERDAM2011
    ZUIDERDAM2011 = "SELECT * From UK_Cruise_Holland_And_America_Zuiderdam_2011 WHERE ID IN (1,2,3,4,5,6)"
    
    DIM objRS
    Set objRS = Server.CreateObject("ADODB.Recordset")
    objRS.Open ZUIDERDAM2011, objConn
    
    If objRS.Eof Then 
    Response.write "<div align='center'>Sorry there are no current records.</div>" 
    Else 
    
    Response.write "<table align=""center"" id=""Cruiseprices"" cellpadding=""0"" cellspacing=""0"">"
    Response.write "<tr><td class=""empty"">&nbsp;</td>"
    Response.write "<td class=""header"">Sail Date >> </td>"
    Response.write "<td class=""header"">14 May &amp;<br />21 May</td>"
    Response.write "<td class=""header"">28 May</td>"
    Response.write "<td class=""header"">4 Jun</td>"
    Response.write "<td class=""header"">11 Jun</td>"
    Response.write "<td class=""header"">18Jun, 25Jun,<br />02Jul, 09Jul,<br />16Jul, 23Jul,<br />30Jul, 06Aug</td></tr>"
    Response.write "<tr><td class=""empty"">&nbsp;</td>"
    Response.write "<td class=""titles"">Cabin</td>"
    Response.write "<td class=""titles"">Twin</td>"
    Response.write "<td class=""titles"">Twin</td>"
    Response.write "<td class=""titles"">Twin</td>"
    Response.write "<td class=""titles"">Twin</td>"
    Response.write "<td class=""titles"">Twin</td></tr>"
    Response.Write "<tr><td rowspan=""6"" class=""header"">Inside<br /><br />Stateroom</td>"
    
    Do while not objRS.Eof 
    
    Response.Write "<td class=""titles"">" & objRS("Cabin_Category") & "</td>"
    Response.Write "<td>&pound;" & objRS("Price_Band_1") & "</td>"
    Response.Write "<td>&pound;" & objRS("Price_Band_2") & "</td>"
    Response.Write "<td>&pound;" & objRS("Price_Band_3") & "</td>"
    Response.Write "<td>&pound;" & objRS("Price_Band_4") & "</td>"
    Response.Write "<td>&pound;" & objRS("Price_Band_5") & "</td></tr>"
    
    objRS.movenext
    
    Loop 
    end if 
    
    Response.Write "</table>" & vbCrLf
    
    objRS.Close
    Set objRS = Nothing
    objConn.Close
    Set objConn = Nothing
    %>
    thanks in advance
    omar.
  • viktorka
    New Member
    • Jun 2010
    • 26

    #2
    Why do you need loop if you may use "if" inside of your loop:

    if ID<7 then
    do something
    else
    do something
    end if

    Comment

    • omar999
      New Member
      • Mar 2010
      • 120

      #3
      thanks for the reply. iv actually found a better way of doing this using via a for loop

      Code:
      for x = 1 to 6
        'do something
         objRS.movenext
      next
      
      for x = 7 to 10
        'do something
         objRS.movenext
      next
      and so on

      omar.

      Comment

      • viktorka
        New Member
        • Jun 2010
        • 26

        #4
        Could be this way, but in this case, do not forget to check in the loop for the end of the record, otherwise objRS.movenext command will crash your program.

        Keep in mind that this is more lines of code.

        Comment

        Working...