webForumDet fria alternativet

Numrerad lista

7 svar · 232 visningar · startad av SannyW

SannyWMedlem sedan jan. 2003438 inlägg
#1

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.

SannyWMedlem sedan jan. 2003438 inlägg
#2

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.

KoTTeNMedlem sedan sep. 20011 722 inlägg
#3

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.

K@llenMedlem sedan mars 20032 667 inlägg
#4

<%=number%> skriver ut variabeln number.
<%=RecSet("Namn")%> skriver ut variabeln Namn från objektet RecSet.

SannyWMedlem sedan jan. 2003438 inlägg
#5

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">&nbsp;</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">&nbsp;</td>
    <td width="20" align="right"><%=number%>.&nbsp;</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">&nbsp;</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
%>
LarsGMedlem sedan dec. 200012 464 inlägg
#6

istf

number=1

ät

number = (page-1)*pagesize+1
SannyWMedlem sedan jan. 2003438 inlägg
#7

:)

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">&nbsp;</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">&nbsp;</td>
    <td width="20" align="right"><%=number%>.&nbsp;</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">&nbsp;</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">&nbsp;</td>
</tr>
   <tr>
    <td width="10">&nbsp;</td>
    <td colspan="5"><hr></td>
   <td width="10">&nbsp;</td>
  </tr> 
  <tr>
    <td width="10">&nbsp;</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">&nbsp;</td>
   </tr>
  <tr>
    <td width="10">&nbsp;</td>
    <td colspan="5"><hr></td>
   <td width="10">&nbsp;</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.

SannyWMedlem sedan jan. 2003438 inlägg
#8

Det går inte att behålla count, eller? Någon som vet?

141 ms totalt · 3 externa anrop · v20260731065814-full.beb2e261
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)