Tjenixen,
Hur i hela världen löser man numrering när man hämtar posterna från databasen. Kör man med count på getrows() eller?
Ex.
1. Nisse
2. Johan
3. Carl-Henrik
osv.
Hittar inte lösningen......
Någon som har lust att förklara?
Tack på förhand.
7 svar · 232 visningar · startad av SannyW
Tjenixen,
Hur i hela världen löser man numrering när man hämtar posterna från databasen. Kör man med count på getrows() eller?
Ex.
1. Nisse
2. Johan
3. Carl-Henrik
osv.
Hittar inte lösningen......
Någon som har lust att förklara?
Tack på förhand.
Ni kan glömma min förra fråga, men nu har jag en ny. Det var så enkelt så att man nästa skäms, men här kommer nästa.
Dax att skämas lite mer kanske..... :)
<%=number%> <- vad är skillnaden -> <%=RecSet("Namn")%>
<%=number%> E detta på grund av vb-scripten ?
Har någon lust att förklara lite snabbt, bara så att jag vet att det är rätt tråd jag håller i.
Tack på förhand.
Båda skriver ut infromation
Den första <%=number%> skriver ut värdet från strängen med, ja samma namn, number.
<%=RecSet("Namn")%> RecSet är en databaskoppling och skriver alltså ut kolumnen Namn från en databas.
<%=number%> skriver ut variabeln number.
<%=RecSet("Namn")%> skriver ut variabeln Namn från objektet RecSet.
Tack för svaret, då är jag med.
Då dök det upp ett problem med min numrering ändå, har sidan kopplad till paging. Vilket gör att den startar om från 1-30 för sida 2 osv. Det vill jag absolute INTE!
Hur löser man det?
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set Recset = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
Const perSida1 = 30
If Request.QueryString("page") = "" then
page = 1
Else
page = Request.QueryString("page")
End If
RecSet.CursorLocation = 3
RecSet.CacheSize = perSida1
SQL = "SELECT * From tabell Order By namn
Recset.Open SQL, Conn, 1, 2
number = 1
If RecSet.EOF Then%>
<tr>
<td colspan="10"> </td>
<td colspan="2"><i>Inget registrerat i databasen.</i></td>
</tr>
<% Else
RecSet.MoveFirst
RecSet.PageSize = perSida1
TotalPages = RecSet.PageCount
RecSet.AbsolutePage = page
Count = 0
Do While Not RecSet.EOF And Count < RecSet.PageSize
%>
<tr>
<td width="10"> </td>
<td width="20" align="right"><%=number%>. </td>
<td><font title="Namn"><%=RecSet("Namn")%></font></td>
<td width="150" align="left"><font title="Lag"><%=RecSet("lag")%></font></td>
<td width="70" align="right"><font title="Division"><%=RecSet("division")%></font></td>
<td width="100" align="right"><font title="Mål"><%=RecSet("mal")%></font></td>
<td width="40"> </td>
</tr>
<tr>
<td width="1" colspan="6" bgcolor="#E0EBF8"><img src="images/1x1_tom.gif" width="1" height="1" border="0" alt=""></td>
</tr>
<%
Count = Count + 1
number = number + 1
Recset.MoveNext
Loop
Recset.Close
Conn.Close
Set Recset = Nothing
Set Conn = Nothing
End If
%>
:)
Grym du e!!!!!!!!!!!!!!!
Tack LarsG.
Hmmm.....du eller någon annan kanske kan svara på en sak till. Går det att spara count så att om man sorterar om listan:
3. Nisse
1. Carl-Henrik
2. Johan
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set Recset = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
Const perSida1 = 30
If Request.QueryString("page") = "" then
page = 1
Else
page = Request.QueryString("page")
End If
RecSet.CursorLocation = 3
RecSet.CacheSize = perSida1
typ = Request.Querystring("typ")
select case typ
case "1" : strSort = typ & " ASC, namn ASC"
case "2" : strSort = typ & " ASC, namn ASC"
case "3" : strSort = typ & " ASC"
case "4" : strSort = typ & " DESC, namn ASC"
end select
SQL = "SELECT * From tabell Order By "& strSort
Recset.Open SQL, Conn, 1, 2
number = (page-1)*pagesize+1
If RecSet.EOF Then%>
<tr>
<td colspan="10"> </td>
<td colspan="2"><i>Inget registrerat i databasen.</i></td>
</tr>
<% Else
RecSet.MoveFirst
RecSet.PageSize = perSida1
TotalPages = RecSet.PageCount
RecSet.AbsolutePage = page
Count = 0
Do While Not RecSet.EOF And Count < RecSet.PageSize
%>
<tr>
<td width="10"> </td>
<td width="20" align="right"><%=number%>. </td>
<td><font title="Namn"><%=RecSet("Namn")%></font></td>
<td width="150" align="left"><font title="Lag"><%=RecSet("lag")%></font></td>
<td width="70" align="right"><font title="Division"><%=RecSet("division")%></font></td>
<td width="100" align="right"><font title="Mål"><%=RecSet("mal")%></font></td>
<td width="40"> </td>
</tr>
<tr>
<td width="1" colspan="6" bgcolor="#E0EBF8"><img src="images/1x1_tom.gif" width="1" height="1" border="0" alt=""></td>
</tr>
<%
Count = Count + 1
number = number + 1
Recset.MoveNext
Loop
Recset.Close
Conn.Close
Set Recset = Nothing
Set Conn = Nothing
End If
%>
<tr>
<td width="10"> </td>
</tr>
<tr>
<td width="10"> </td>
<td colspan="5"><hr></td>
<td width="10"> </td>
</tr>
<tr>
<td width="10"> </td>
<td valign="top" colspan="2">
<%
If TotalPages <> 1 Then
If (Int(page)) <> 1 Then
%>
<a href="default.asp?path=skytteligan&typ=<%=typ%>&page=<%=(Int(page)-1)%>" onfocus="this.blur()"><b>« Bakåt</b></a>
<%Else%>
<%End If%>
<%
For Pages = 1 To TotalPages
%>
<%If (Int(Pages)) = (Int(page)) Then%><b><font color="#000000"><b>[<%=Pages%>]</b></font></b> <%Else%><a href="default.asp?path=skytteligan&typ=<%=typ%>&page=<%=Pages%>" onfocus="this.blur()"><b><%=Pages%></b></a> <%End If%><%Next%>
<%End If%>
<%
If (Int(page)) <> (Int(TotalPages)) AND Count > 0 Then
%>
<a href="default.asp?path=skytteligan&typ=<%=typ%>&page=<%=(Int(page)+1)%>" onfocus="this.blur()"><b>Framåt »</b></a>
<%Else%>
<%End If%>
</td>
<td width="10"> </td>
</tr>
<tr>
<td width="10"> </td>
<td colspan="5"><hr></td>
<td width="10"> </td>
</tr>
</table>
</tbody>
</table>
Vill då att case 4 skall bestämma var nummer 1 skall finnas, går det att spara count så att de ligger kvar i de andra sorteringarna?
Hoppas du orkar........
Tack på förhand.
Det går inte att behålla count, eller? Någon som vet?