webForumDet fria alternativet

HJÄLP Paging!!

ASP

61 svar · 1 521 visningar · startad av Jeppeweb · sida 3 av 4

Frågan, av Jeppeweb

Hur skulle jag kunna inkludera ett paging system på denna sida? Jag vill att det endast det skall synas 10 poster på varje sida... TACKSAM FÖR HJÄLP <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title></title> <LINK REL="stylesheet" href="style.css

Läs frågan i sin helhet →
Medlem sedan juni 20019 519 inlägg
#41

Gå och läs lite om programmering, wF är en bra resurs och man lär sig en hel del... men förväntar dig inte att alla wF medlemmar gör all kod åt dig.

PS Använd Acceptera som slutgiltigt svar så andra personer med liknande problem kan läsa och hitta hur du löste ett problem.

Medlem sedan sep. 2006462 inlägg
#42

Lite sent efter men.. Får detta felmeddelande när jag ska bläddra i pagingen..

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x820 Thread 0xbbc DBC 0x107a3db4 Jet'.

/default.asp, line 7

<%
'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'//
'//		© 2003
'//		Pagingsystem med GetRows()
'//		Skapat 23 Maj 2003 av Palle Zingmark
'//		www.palleman.nu | info@palleman.nu
'//
'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'// Dim

	Dim Connect, RecSet, arrRecSet, intPage, intPostsPerPage, intFirstPost, intTotalPosts
	Dim intPages, intLastPost, strNext, i, strName, intNavStart, intNavEnd, n

'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'// Databashantering

dim SQL
sql = "Select TradID,rubrik,epost,username,datum from forum where kat='"&safeSQL(Request.Querystring("kat"))&"'" & " and svar='Nej'" & " order by datum desc"
	Set RecSet = Connect.Execute(sql)
		If NOT RecSet.EOF Then arrRecSet = RecSet.GetRows()
	RecSet.Close : Set RecSet = Nothing
	
Connect.Close
Set Connect = Nothing

'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'// Posthantering

If IsArray(arrRecSet) Then
	'// Poster per sida
	intPostsPerPage = 10

	'// Navigeringshantering
	If Len(trim(Request.Querystring("n"))) > 0 Then intPage = cInt(trim(Request.Querystring("n"))) Else intPage = 1
	intFirstPost = (intPage - 1) * intPostsPerPage
	intTotalPosts = UBound(arrRecSet, 2)
	intPages = ((intTotalPosts)\intPostsPerPage)+1

	If intFirstPost + (intPostsPerPage - 1) >= UBound(arrRecSet,2) Then
		intLastPost = UBound(arrRecSet, 2) 
	Else
		intLastPost = intFirstPost + (intPostsPerPage - 1)
		strNext = True
	End If

	'// Skriv ut posterna
	For i = intFirstPost To intLastPost
          TradID = arrRecSet(0,i)
          strRubrik = arrRecSet(1,i)
          strepost = arrRecSet(2,i)
          strusername = arrRecSet(3,i)
          strdatum = arrRecSet(4,i)
          Set Count = ObjConn.Execute("Select count(*) from forum where svar='Ja'" & " and tradID='"&SafeSQL(TradID)&"'")
          antal = Count(0)
          count.close : set Count = nothing
          response.write "<table class='tbl' width='586'>"
          response.write "<tr><td><table class='tbl2' width='580' cellspacing='0' cellpadding='0'>"
          response.write "<tr><td colspan='3'><a href='main.asp?page=87'>Kategori</a> » " & Server.Htmlencode(Request.Querystring("kat")) & "</td></tr>"
          response.write "<tr>"
          response.write "	<td width='30' height='21'>"
          response.write "	&nbsp;</td><td width='449'>&nbsp;</td><td align='left' width='100'>"
          response.write "	<b><a href='main.asp?page=92'><font color='#000000'>Skapa ny tråd</font></a></b></td>"
          response.write "</tr>"
          response.write "<tr>"
          response.write "	<td width='30' height='21'>"
          response.write "	&nbsp;</td><td width='449'><b>Trådar:</b></td><td align='left' width='100'>"
          response.write "	<b>Antal svar:</b></td>"
          response.write "</tr>"
          response.write "<tr class='" & color & "'><td width='30' height='40'>"
          response.write "	<p align='center'><img src='bilder/forum.png' alt=''></td>"
          response.write " <td width='449'><b><a href='main.asp?page=93&tradid=" & Server.HtmlEncode(TradID) & "'>" & Server.HtmlEncode(strRubrik) & "</a></b>skapades av <a href='" & Server.HtmlEncode(strepost) & "'>" & Server.HtmlEncode(strusername) & "</a><br>&nbsp;" & strDatum & "</td>"
          response.write "	<td align='left' width='100'><br>" & antal & " st</td></tr></table></table>"
	Next

	'// Navigering, välj själv knappar eller text
	Call buttonNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)
	'Call textNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)

'// Fanns inga poster
Else
	Response.Write "Inga poster."
End If

%>
Medlem sedan juni 20019 519 inlägg
#43

Som vanligt länkar du fel... line 7 är en kommentar

Som felmeddelandet lyder så är det något med din databas som spökar... kan vara update frågan...

Medlem sedan sep. 2006462 inlägg
#44

Det finns ju ingen update fråga (?)

Medlem sedan juni 20019 519 inlägg
#45

sant... (läste fel) men fortfarande fel dokument felet ligger på...

Medlem sedan sep. 2006462 inlägg
#46

Fattar inte varför det står default.asp när det är i cat_open.asp funktionen ligger i..
Deafult.asp är en omröstning och rad 7 och därtill ser ut såhär;

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("")

SQL = "SELECT TOP 1 * From fragor ORDER BY id DESC"
Set RecSet1 = Connect.Execute(SQL)
%>

Cat_open.asp hanteras inte i access utan mysql.. Men varför blir det default där för? Fattar naaaada..

Medlem sedan juni 200032 967 inlägg
#47

Felmeddelandet brukar ju betyda "fel sökväg till databasen" eller något med rättigheter. Om man tittar på denna kodrad:

Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("")

, så känns det som att det är något som saknas........

Medlem sedan sep. 2006462 inlägg
#48

Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.Mappath("poll.mdb")

Så ser den ut just nu..

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x820 Thread 0xbbc DBC 0x107a3db4 Jet'.

/default.asp, line 7

Men varför blir pagingen till default.asp ? Den sidan har ju inte ens med saken o göra..

Medlem sedan juni 200032 967 inlägg
#49

Men varför blir pagingen till default.asp ?

Vi vet inte. Hur ser funktoinen för att skapa navigationslänkar ut?

Medlem sedan sep. 2006462 inlägg
#50
If IsArray(arrRecSet) Then
	'// Poster per sida
	intPostsPerPage = 10

	'// Navigeringshantering
	If Len(trim(Request.Querystring("n"))) > 0 Then intPage = cInt(trim(Request.Querystring("n"))) Else intPage = 1
	intFirstPost = (intPage - 1) * intPostsPerPage
	intTotalPosts = UBound(arrRecSet, 2)
	intPages = ((intTotalPosts)\intPostsPerPage)+1

	If intFirstPost + (intPostsPerPage - 1) >= UBound(arrRecSet,2) Then
		intLastPost = UBound(arrRecSet, 2) 
	Else
		intLastPost = intFirstPost + (intPostsPerPage - 1)
		strNext = True
	End If

	'// Skriv ut posterna
	For i = intFirstPost To intLastPost
          TradID = arrRecSet(0,i)
          strRubrik = arrRecSet(1,i)
          strepost = arrRecSet(2,i)
          strusername = arrRecSet(3,i)
          strdatum = arrRecSet(4,i)
          Set Count = ObjConn.Execute("Select count(*) from forum where svar='Ja'" & " and tradID='"&SafeSQL(TradID)&"'")
          antal = Count(0)

i guess.. allt finns med i koden jag skickade lite högre upp ^^

Medlem sedan juni 20019 519 inlägg
#51

nej... kolla funktionen buttonNavigate() som du använder för att skriva ut dina knappar... där är svaret skulle jag gissa på...

Medlem sedan juni 200032 967 inlägg
#52

Jag ser ingen navigeringslänk i den koden.

Medlem sedan sep. 2006462 inlägg
#53

Call buttonNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)

All kod som finns är ju med i kodsnutten som jag skickade med tidigare somsagt. Då är det kanske något som saknas? vad?

Medlem sedan juni 20019 519 inlägg
#54

... läs functions.asp för att se strukturen på hur ButtonNavigate är uppbyggd... fick ladda ner scriptet bara för att öppan den... står på 2 till 4 olika ställen att det är default.asp som navigeringen ska gå till... ändra det.

Medlem sedan sep. 2006462 inlägg
#55

Ändrat. Nu när jag klickar till t.ex sida 2, 3 eller 4.. så står det "inga poster".

Why!? :(

Medlem sedan sep. 2006462 inlägg
#56

cat_open

<%
'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'//
'//		© 2003
'//		Pagingsystem med GetRows()
'//		Skapat 23 Maj 2003 av Palle Zingmark
'//		www.palleman.nu | info@palleman.nu
'//
'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'// Dim

	Dim Connect, RecSet, arrRecSet, intPage, intPostsPerPage, intFirstPost, intTotalPosts
	Dim intPages, intLastPost, strNext, i, strName, intNavStart, intNavEnd, n

'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'// Databashantering

dim SQL
sql = "Select TradID,rubrik,epost,username,datum from forum where kat='"&safeSQL(Request.Querystring("kat"))&"'" & " and svar='Nej'" & " order by datum desc"
	Set RecSet = Connect.Execute(sql)
		If NOT RecSet.EOF Then arrRecSet = RecSet.GetRows()
	RecSet.Close : Set RecSet = Nothing
	
Connect.Close
Set Connect = Nothing

'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'// Posthantering

If IsArray(arrRecSet) Then
	'// Poster per sida
	intPostsPerPage = 10

	'// Navigeringshantering
	If Len(trim(Request.Querystring("n"))) > 0 Then intPage = cInt(trim(Request.Querystring("n"))) Else intPage = 1
	intFirstPost = (intPage - 1) * intPostsPerPage
	intTotalPosts = UBound(arrRecSet, 2)
	intPages = ((intTotalPosts)\intPostsPerPage)+1

	If intFirstPost + (intPostsPerPage - 1) >= UBound(arrRecSet,2) Then
		intLastPost = UBound(arrRecSet, 2) 
	Else
		intLastPost = intFirstPost + (intPostsPerPage - 1)
		strNext = True
	End If

	'// Skriv ut posterna
	For i = intFirstPost To intLastPost
          TradID = arrRecSet(0,i)
          strRubrik = arrRecSet(1,i)
          strepost = arrRecSet(2,i)
          strusername = arrRecSet(3,i)
          strdatum = arrRecSet(4,i)
          Set Count = ObjConn.Execute("Select count(*) from forum where svar='Ja'" & " and tradID='"&SafeSQL(TradID)&"'")
          antal = Count(0)
          count.close : set Count = nothing
          response.write "<table class='tbl' width='586'>"
          response.write "<tr><td><table class='tbl2' width='580' cellspacing='0' cellpadding='0'>"
          response.write "<tr><td colspan='3'><a href='main.asp?page=87'>Kategori</a> » " & Server.Htmlencode(Request.Querystring("kat")) & "</td></tr>"
          response.write "<tr>"
          response.write "	<td width='30' height='21'>"
          response.write "	&nbsp;</td><td width='449'>&nbsp;</td><td align='left' width='100'>"
          response.write "	<b><a href='main.asp?page=92'><font color='#000000'>Skapa ny tråd</font></a></b></td>"
          response.write "</tr>"
          response.write "<tr>"
          response.write "	<td width='30' height='21'>"
          response.write "	&nbsp;</td><td width='449'><b>Trådar:</b></td><td align='left' width='100'>"
          response.write "	<b>Antal svar:</b></td>"
          response.write "</tr>"
          response.write "<tr class='" & color & "'><td width='30' height='40'>"
          response.write "	<p align='center'><img src='bilder/forum.png' alt=''></td>"
          response.write " <td width='449'><b><a href='main.asp?page=93&tradid=" & Server.HtmlEncode(TradID) & "'>" & Server.HtmlEncode(strRubrik) & "</a></b>skapades av <a href='" & Server.HtmlEncode(strepost) & "'>" & Server.HtmlEncode(strusername) & "</a><br>&nbsp;" & strDatum & "</td>"
          response.write "	<td align='left' width='100'><br>" & antal & " st</td></tr></table></table>"
	Next

	'// Navigering, välj själv knappar eller text
	Call buttonNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)
	'Call textNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)

'// Fanns inga poster
Else
	Response.Write "Inga poster."
End If

%>

functions.asp

<%
'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
'// Navigering - text

Public Sub textNavigate(intPage, intTotalPosts, intPostsPerPage, intPages)

	'// Navigering - Första/Bakåt
	If intPage > 1 Then
		Response.Write ""& vbcrlf &"	<a href=""cat_open.asp?n="" >Första</a> | <a href=""cat_open.asp?n="& intPage - 1 &""">Backa</a> | "
	Else 
		Response.Write ""& vbcrlf &"	Första | Backa | "
	End If

	'// Navigering - Siffror
	If intTotalPosts > intPostsPerPage Then 

		If intPage < 4 Then
			intNavStart = 1 : intNavEnd = 5
		ElseIf intPage > intPages-3 Then
			intNavStart = intPages-4 : intNavEnd = intPage+2
		Else
			intNavStart = intPage-2 : intNavEnd = intPage+2
		End If

		For n = intNavStart To intNavEnd
			If intPage = n Then 
				Response.Write "<strong>"& n &"</strong> | "
			Else 
				Response.Write "<a href=""cat_open.asp?n="& n &""">"& n &"</a> | "
			End If
			If n = intPages Then Exit For
		Next 

	End If

	'// Navigering - Nästa/Sista
	If strNext = True Then 
		Response.Write "<a href=""cat_open.asp?n="& intPage + 1 &""">Nästa</a> | <a href=""cat_open.asp?n="& intPages &""">Sista</a>"& vbcrlf
	Else 
		Response.Write "Nästa | Sista"& vbcrlf
	End If

END SUB

'//---------------------------------------------------------------------------------------------------------------------------------------------------------------
%>

TACKSAM FÖR HJÄLP

Medlem sedan juni 20019 519 inlägg
#57

Kan ju vara att din cat_open behöver en querystring vid namn "kat" du måste ju bifoga det med...

Medlem sedan sep. 2006462 inlägg
#58

request.querystring = "kat" ? vart?

Medlem sedan juni 20019 519 inlägg
#59

vid dina sidhopp...

tog bara en rad nu:
<a href=""cat_open.asp?n="& n &""">

den måste ju ha en queyerstring med namnet kat då den läses av i databasen

<a href=""cat_open.asp?n=" & n & "&kat=" & request.Querystring("kat") & "">

tips är att inte köra någon frame eller så så kan du se alltid hur dina länkar ser ut och kan felsöka där med.

Medlem sedan sep. 2006462 inlägg
#60

Microsoft VBScript compilation error '800a03ea'

Syntax error

/functions.asp, line 30

Response.Write "<a href=""cat_open.asp?n=" & n & "?kat=" & request.Querystring("kat") & "">"& n &"</a> | "
---------------------------------------------------------------------------------------------------^

287 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)
137 ms — ändringar (db)