webForumDet fria alternativet

Mitt forum börjar bli långt!

ASP

5 svar · 259 visningar · startad av graf

Medlem sedan aug. 2001174 inlägg
Frågan#1

Hej, har ett problem nu igen ;-)

Ganska många inlägg har skrivits i mitt forum och det börjar bli långt att scrolla ner, så jag undrar: Hur skriver man om man vill att efter t ex 30 inlägg så blir det sida 2, och sen efter 30 till inlägg blir det sida 1-3 osv...

Tacksam för hjälp!

Medlem sedan feb. 20005 891 inlägg
Medlem sedan aug. 2001174 inlägg
#3

Men när jag skriver scriptet som står här under i filen forum.asp så får jag upp ett felmeddelande!
Vart ska jag lägga den?

<table>
<%
mypage = Request("whichpage")
If mypage = "" then
mypage = 1
End If
mypagesize = 10

SQL = "Select * From tabell Order by fält"

Set rstemp = Server.Createobject("ADODB.Recordset")
rstemp.cursorlocation = 3
rstemp.cachesize = 5
MdbFilePath = Server.MapPath("path/databas.mdb")
rstemp.open SQL, "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
If rstemp.EOF then
Response.write "Där fanns det ju inget... " & sok
Else
rstemp.movefirst
rstemp.pagesize = mypagesize
maxcount = Cint(rstemp.pagecount)
rstemp.absolutepage = mypage
howmanyrecs = 0
howmanyfields = rstemp.fields.count -1
Do While Not RStemp.EOF AND howmanyrecs < rstemp.pagesize
counter = counter + 1
If counter mod 2 = 0 then
color = "CCCC99"
Else
color = "CCCC66"
End If
Response.write "<tr bgcolor='" & color & "'><td>" & RStemp("fält") & "</td></tr>"

rstemp.movenext
howmanyrecs = howmanyrecs + 1
Loop
rstemp.close
Set rstemp = nothing
%>
<tr><td><hr></td></tr>
<tr><td>
<%
If maxcount <> 0 then
response.write "sida " & mypage & " av " & maxcount & "<br>" & sidor:
pad = "0"
scriptname = request.Servervariables("script_name")
for counter = 1 to maxcount
If counter >= 10 then
pad = ""
End If
ref = "<a href='" & scriptname & "?whichpage=" & counter & "&pagesize=" & mypagesize & "'>" & pad & counter & "</a> "
response.write ref & " "
if counter mod 10 = 0 then
response.write "<br>"
End If
Next
End If
End If
%>
</td></tr>
</table>

Medlem sedan dec. 19998 577 inlägg
#4

Du måste modifiera den för att den skall passa dina tabeller och fält, samt hur du vill att forumet skall se ut, alltså kan du inte bara lägga in scriptet och tro att allt skall funka... ;)

------------------
"For every fatal shooting, there were roughly three non-fatal shootings. And, folks, this is unacceptable in America. It's just unacceptable. And we're going to do something about it."
-G. W. Bush
un.eyebew

Medlem sedan aug. 2001174 inlägg
#5

Såhär ser scriptet ut i mitt forum, hur och var ska jag lägga in det andra scriptet?

<!-- #include file="adovbs.inc" -->
<html>
<head>
<title>Forum</title>
<style>
<!--
a { text-decoration: none }
a:hover { color: #cococo; text-decoration: underline }
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body bgcolor="#FEE1D2" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="500" border="0" cellspacing="0" cellpadding="2" height="100%" align="center">
<tr>
<td valign="top">
<p align="left"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000">FinansSnack - <br> OBS! Längst ner på sidan kan du ändra hur<br> ofta forumet ska uppdateras.<p>
<FORM NAME="menyn">
<SELECT NAME="meny" onChange="self.location.href=this.options[this.selectedIndex].value;">
<OPTION VALUE="Välj forum
<OPTION VALUE="http://www24.brinkster.com/finanssnack/forum.asp">FinansSnack
<OPTION VALUE="http://www24.brinkster.com/webmasterforum/forum.asp">Webmaster
</SELECT>
</FORM></font></b></p>
<p align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#000000">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#DCDCDC"><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000">[<A HRef="forum.asp">Uppdatera</A>] [<a href="nyinlagg.asp">Skriv inlägg</a>] [<A HREF="sok.asp" target="huvud">Sök</A>] </font></td>

        \</td\>
      \</tr\>
      \<%

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/forum.mdb")&";"

Set RecSet = Server.CreateObject("ADODB.Recordset")

Addera = "Select * From asp WHERE REF_ID = 0 ORDER BY DATUM DESC"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
X=0
DO UNTIL X=25 OR RecSet.EOF ' <-- Här visar vi bara de 25 senaste trådarna

nytt = "no"

Set RecSet2 = Server.CreateObject("ADODB.Recordset")

Addera2 = "Select DATUM From asp WHERE REF_ID = " &RecSet("ID")
RecSet2.Open Addera2, Connect, adOpenStatic, adLockOptimistic

DO UNTIL RecSet2.EOF OR nytt = "yes"
	IF RecSet2("DATUM") \> NOW - 1 THEN
		nytt = "yes"
	END IF
	
	RecSet2.MOVENEXT
LOOP

RecSet2.CLOSE

%>
<tr>
<td><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000">
<a href="read.asp?ID=<%=RecSet("ID")%>" target="huvud">
<% IF nytt = "yes" THEN %>

          \<% END IF %\>\<li\>
          \<%=RecSet("RUBRIK")%\>\</a\> \<%=RecSet("NAMN")%\>  \[\<%=RecSet("ANTALSVAR")%\>\]\</font\>\</td\>
        \<td width="130"\>\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"\> 
          \</font\>\</td\>
        \<td width="125"\>\<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#000000"\> 

</tr>
<%
RecSet.MOVENEXT
LOOP
RecSet.CLOSE
Connect.CLOSE
Set RecSet = nothing
Set Connect = nothing
%>
</table>
<hr size="1" width="50%" align="left">
<p><font size="1" face="Verdana, Arial, Helvetica, sans-serif"></font><br>
<b><font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#FF0000">
<%
IF Session("fel") <> "" THEN
Response.WRITE Session("fel")
Session("fel") = ""
END IF
%>
</font></b><br>
</p>
</div>

Medlem sedan juli 20011 129 inlägg
#6

Ett annat sätt att enkelt få en sidobläddring är följande:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "[ODBC-källa]"
Set RS = Server.CreateObject("ADODB.RecordSet")

SQLStmt = "Select * From [Tabell]"
RS.Open SQLStmt, Conn, 3, 1

SizeOfPage = 20

RS.PageSize = SizeOfPage

If Len(Request.QueryString("CurrPage")) > 0 Then
  CurrPage = cInt(Request.QueryString("CurrPage"))
Else
CurrPage = 1
End If

RS.AbsolutePage = CurrPage

cLoop = 0
Do While Not RS.EOF And cLoop < SizeOfPage 
cLoop = cLoop + 1

Response.Write RS("DatanJagVillPresentera") & "<br>" & vbCrLf

RS.MoveNext
Loop

If CurrPage > 1 And CurrPage < RS.PageCount Then
%>
<a href="ThisPage.Asp?CurrPage=<%= CurrPage +1%>">Nästa sida -->></a>
<% End If %>

<%= CurrPage%> / <%= RS.PageCount%>

<% If CurrPage > 1 Then %>
<a href="ThisPage.Asp?CurrPage=<%= CurrPage -1%>"><<-- Föregående sida</a>
<% End If %>

Det ska nog funka om jag inte glömt något.
Ha en trevlig kväll, och ta det lungt med spriten! ;)

------------------
Say hello to my stinky little friend!

323 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
191 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
192 ms — ändringar (db)