devo realizzare una pagina che visualizzi tutti i record (in base alla query che metto) di un db.
tali record sono circa duecento in tutto,quindi mi serve un codice che decida quanti record mettere in una pagina (ad esempio 10) e che metta quattro opzioni a fine pagina (inizio, successiva, precedente e ultima).
il codice che ho preparato è questo:
codice:sql = "Select * from Elenco_indirizzi where Categoria = 'Ristoranti' AND Recensione is null or Recensione = '' order by Nome " rs.Open sql, conn, 1, 3 do while not rs.EOF i = i + 1 rs.movenext loopcodice:if i = 0 then Response.Write("Nessun dato disponibile") end if rs.closecodice:<td width="90" bgcolor="#FFEC00" align="center"><a href="list-rist-inc.asp?order=id">ID</td> <td width="90" bgcolor="#FFEC00" align="center"><a href="list-rist-inc.asp?order=nome">Nome</td> <td width="90" bgcolor="#FFEC00" align="center"><a href="list-rist-inc.asp?order=ind">Indirizzo</td> <td width="70" bgcolor="#FFEC00" align="center">Telefono</td> <td width="90" bgcolor="#FFEC00" align="center"><a href="list-rist-inc.asp?order=cit">Città</td> <td width="90" bgcolor="#FFEC00" align="center">Categoria</td> <td width="700" bgcolor="#FFEC00" align="center">Recensione</td> <td width="30" bgcolor="#FFEC00" align="center"><a href="list-rist-inc.asp?order=qual">Q</td> <td width="30" bgcolor="#FFEC00" align="center"><a href="list-rist-inc.asp?order=pre">P</td> <td width="30" bgcolor="#FFEC00" align="center"><a href="list-rist-inc.asp?order=serv">S</td> <td width="90" bgcolor="#FFEC00" align="center">Stelle</td> <td width="50" bgcolor="#FFEC00" align="center">Modifica</td> </tr> <% ord = Request.Querystring("order") if ord = "id" then ord = "ID" end if if ord = "nome" then ord = "Nome" end if if ord = "ind" then ord = "Indirizzo" end if if ord = "cit" then ord = "Città" End IF if ord = "qual" then ord = "Qualita DESC" End IF if ord = "pre" then ord = "Prezzo DESC" End IF if ord = "serv" then ord = "Servizio DESC" End IF lettera = Request.Querystring("lettera") Dim Page_Size Dim Current_Page Dim Page_Count Page_Size = 20 If Request("Page") = "" Then Current_Page = 1 Else Current_Page = CInt(Request("Page")) End If Set rs=Server.CreateObject("ADODB.RecordSet") rs.CursorLocation = adUseClient rs.PageSize = Page_Size if lettera <> "" then SQL="SELECT * From Elenco_indirizzi WHERE Categoria = 'Ristoranti' AND Recensione is null or Recensione = '' AND Titolo LIKE '" & lettera & "%'" else SQL="SELECT * From Elenco_indirizzi WHERE Categoria = 'Ristoranti' AND Recensione is null or Recensione = '' ORDER BY "&ord&" " end if rs.Open SQL, conn Page_Count = rs.PageCount If 1 > Current_Page Then Current_Page = 1 If Current_Page > Page_Count Then Current_Page = Page_Count rs.AbsolutePage = Current_Page Do While rs.AbsolutePage = Current_Page And Not rs.EOFcosì, le quattro opzioni in fondo pagina mi vengono visualizzate (e se sono alla prima pagina "inizio" e "precedente" non sono linkabili), ma quando clicco su "successiva" mi rida esattamente la stessa pagina (con tutti i record) magari ordinati dalla lettera b in poi.codice:do while not rs.EOF id=rs("ID") nome=rs("Nome") indirizzo=rs("Indirizzo") telefono=rs("Telefono1") citta=rs("Città") categoria=rs("Categoria") recensione=rs("Recensione") qualita=rs("Qualita") prezzo=rs("Prezzo") servizio=rs("Servizio") stelle=rs("Stelle") %> <tr> <td width="90" bgcolor="#FEEBCD" align="center"> <%Response.Write(id)%> </td> <td width="90" bgcolor="#FEEBCD"> <%Response.Write(nome)%> </td> <td width="90" bgcolor="#FEEBCD"> <%Response.Write(indirizzo)%> </td> <td width="70" bgcolor="#FEEBCD" align="center"> <%Response.Write(telefono)%> </td> <td width="90" bgcolor="#FEEBCD" align="center"> <%Response.Write(citta)%> </td> <td width="90" bgcolor="#FEEBCD" align="center"> <%Response.Write(categoria)%> </td> <td width="700" bgcolor="#FEEBCD" align="left"> <%Response.Write(recensione)%> </td> <td width="30" bgcolor="#FEEBCD" align="center"> <%Response.Write(qualita)%> </td> <td width="30" bgcolor="#FEEBCD" align="center"> <%Response.Write(prezzo)%> </td> <td width="30" bgcolor="#FEEBCD" align="center"> <%Response.Write(servizio)%> </td> <td width="90" bgcolor="#FEEBCD" align="center"> <%Response.Write(stelle)%> </td> <td width="50" bgcolor="#FEEBCD"> <p align="center"><a href="edit-rist-inc.asp?id=<%=rs("id")%>"> [img]modifica.gif[/img]</td> </tr> <% rs.movenext loop %> <% loop %> <% rs.close set rs = nothing Response.Write "<center>" Response.Write "<td colspan=""10"" align=""center""> " If Current_Page = 1 Then Response.Write "<font color='#000000'>Inizio | " End If If Current_Page >= 2 Then Response.Write "<< Inizio | " & vbCrLf End If If Current_Page >= Page_Count Then Response.Write "<font color='#000000'>Successiva >|" End If If Current_Page < Page_Count Then Response.Write "Successiva >" & "|" & vbCrLf End IF If Current_Page <> 1 Then Response.Write "< Precedente | " & vbCrLf Response.Write " " & vbCrLf End If If Current_Page = 1 Then Response.Write "<font color='#000000'>< Precedente | " End If If Current_Page <> Page_Count Then Response.Write "Ultima >>" & vbCrLf End If If Current_Page >= Page_Count Then Response.Write "Ultima" End If %>
se qualcuno fosse così gentile da aiutarmi gli sarei grato.
![]()
![]()
![]()
![]()
![]()

Rispondi quotando