Jag håller på med en stor adresslista, som visar adresser och lite mer därtill.
Som det är nu page'as sidan med 40 poster / sida.
Men jag skulle vilja göra så att den delar av och skapar en ny sida för varje bakstav, så jag längst ner kan ha:
[A] [C] osv osv...
Det här är min kod:
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("d_b/db.mdb"))
nextPage = TRIM( Request.Querystring( "nextPage" ) )
IF nextPage = "" THEN nextPage = 1
Set oRec = Server.CreateObject("ADODB.Recordset")
SQL = "Select ID, Adress, Gatunummer FROM nycklar ORDER BY Adress ASC;"
oRec.Open SQL, oConn, 1, 3
%>
<table class='show_all' border='0' bordercolor='#000000' cellpadding='0' cellspacing='0'>
<%
oRec.PageSize = 40 '<-- Här bestämmer du hur många inlägg det ska finnas på sidan
oRec.AbsolutePage = nextPage
Do until oRec.EOF OR rowCount = oRec.PageSize
rowCount = rowCount + 1
cnt = cnt + 1
strColor = "#FCFDC7"
If cnt Mod 2 = 0 then strColor = "#FEFEDE"
%>
<tr bgcolor="<%= strColor%>">
<td width='300'><a href="Javascript:openwinsize('visa_adr.asp?id=<%=oRec("ID")%>',width=375,height=130);"><%=Response.Write(oRec("Adress") & "</td><td>" & oRec("Gatunummer"))%></a></td>
</tr>
<tr>
<td colspan='2' height='5'></td>
</tr>
<%
oRec.MoveNext
Loop%>
<tr><td height='30' colspan='2'></td></tr><tr><td colspan='2'>
<%
IF oRec.PageCount > 1 THEN
FOR a = 1 to oRec.PageCount
IF a <> cINT( nextPage ) THEN
Response.Write "<a href='alla_adr.asp?nextPage="& a &"'>["& a &"]</a> "
ELSE
Response.Write "<b><u>"& a & "</u></b> "
END IF
If a Mod 15 = 0 Then
Response.Write("<br>")
End If
NEXT
END IF
Inte all kod, men det som är viktigt, loopen mm.
Kan ngn som är cool ta en titt och hjälpa mig med det här.
Utgå gärna från samma kod, det bör ju gå på ngt sätt, men jag har ingen aning om hur jag ska göra.
Om du kan ha alla adresser som börjar på A under sidan [A] och alla som börjar på B under sidan **.. osv
..så skulle du kunna göra så att du Loopar ut eller om du orkar skriva, länkarna och lägga till en querystring t ex i dem med rätt bokstav.
Sen ändrar du SQL till:
SQL = "Select ID, Adress, Gatunummer FROM nycklar WHERE Adress LIKE '"& Request.QueryString("bokstav")"%' ORDER BY Adress ASC;"
Säg att Request.QueryString innehåller ett A eller a, då kommer den att visa alla adresser som börjar på ett A, sen får du fixa länkarna på något smart sätt så att de länkar tillbaka till samma sida fast ändrar QueryStringen :)**
den märker ingen skillnad på stora och små bokstäver men om du skriver i SQL ...WHERE Adress LIKE 'A%' så tar den bara ut fält som börjar på A eller a.
Skriver du däremot: WHERE Adress LIKE '%A%' så tar den ut alla fält där cellen Adress innehåller ett "a" eller "A".
Jag tror att det skulle fungera bra att länka på det här sättet om nu inte någon bokstav skulle bli enormt stor, men även det skulle gå att begränsa.
Säg att du skriver ut sidan med en:
Antal = 0
Do Until RS.EOF Or Antal = 50
Antal = Antal +1
Alla adresser som ska skrivas ut..
Ok, tack för svaret, men har gjort så att den plockar ut 'A%' och sen listar med en nby sida / bokstav, så styr jag bara sidväxlingen med en Querystring.
Det funkar bra hittills.
262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25