webForumDet fria alternativet

Implementering av paging

28 svar · 603 visningar · startad av WebbisNet · sida 2 av 2

solbulleMedlem sedan mars 20015 287 inlägg
#21

Såg du min lilla justering?

/red. Ändrade ett ? till ett & i subben PageNumbers

Sen börjar jag onekligen fundera på VAR/hur du skriver ut dina poster, det där kan ju inte vara hela sidans kod som du postat.

Kanske ska du posta hela din kod?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#22

Då är det bara frågan hur man delar upp posterna......jag har 8 inlägg och samma 8 syns på sida 2

solbulleMedlem sedan mars 20015 287 inlägg
#23

solbulle skrev:

Sen börjar jag onekligen fundera på VAR/hur du skriver ut dina poster, det där kan ju inte vara hela sidans kod som du postat.

Kanske ska du posta hela din kod?

WebbisNetMedlem sedan feb. 20032 027 inlägg
#24

http://www.webbisen.com/Testfolder/tmp.txt

cpaging.asp som inkuderas är den koden du redigerade innan

solbulleMedlem sedan mars 20015 287 inlägg
#25

Jo, men du skriver ju inte ut din data från databasen där vad jag kan se?
Du sätter ju inte variablerna!?!

Det har du plockat bort.

http://www.webforum.nu/showthread.php?s=&postid=694705#post694705

HUR/VAR skriver du egentligen ut din data? Använder du dig av arrayen överhuvud taget eller har du kvar dina rs eller något?

solbulleMedlem sedan mars 20015 287 inlägg
#26

Oki, nu ser jag hela din sidkod.

Hela detta stycke ska skrivas om, alla rs ska bort samt databaskoppling samt hämtning. Du ska använda dig av deen array du plockar fram med det andra skriptet..


<%

	SQL = "SELECT * FROM gastbok ORDER BY ID DESC"

	set conn = Server.CreateObject("ADODB.connection")
	conn.Open connstr
	Set RS = Conn.Execute(SQL)

	Do Until RS.EOF 

%>
<center>

<table>
<tr>
<td>
<table class=table width="590" border=0 cellpadding=3 cellspacing=0>
<tr>
<td colspan=2 class=gb1 width="100%">
<div class=gb1> Insänt: <%=RS("Datum")%> från IP: <%=RS("IP")%> av <%=RS("Namn")%></div>
</td>
<tr>
<td class=gb1 width="40%">
<div class=gb1>Mail:&nbsp;</div> <a class=gb1 href="mailto:<%=RS("Epost")%>?subject=Svar från gästboken på webbisen.com"> <%=RS("Epost")%></a>
</td>
<td class=gb1 width="60%">		  
<div class=gb1>Webb:&nbsp;</div> <a class=gb1 target='_blank' href="<%=RS("Hemsida")%>"> <%=RS("Hemsida")%></a>
</td>
</tr>
<tr>
<td colspan=2 class=gb2 width="100%">
<div class=gb2><%=RS("Meddelande")%>
 </div>
</td>
</tr>
</table>

</td>
</tr>
</table>
</center>
<%
  	RS.MoveNext
	Loop

	RS.Close 
	conn.Close
%>
WebbisNetMedlem sedan feb. 20032 027 inlägg
#27

solbulle skrev:

Oki, nu ser jag hela din sidkod.

Hela detta stycke ska skrivas om, alla rs ska bort samt databaskoppling samt hämtning. Du ska använda dig av deen array du plockar fram med det andra skriptet..


<%


	SQL = "SELECT * FROM gastbok ORDER BY ID DESC"

	set conn = Server.CreateObject("ADODB.connection")
	conn.Open connstr
	Set RS = Conn.Execute(SQL)

	Do Until RS.EOF 

%>
<center>

<table>
<tr>
<td>
<table class=table width="590" border=0 cellpadding=3 cellspacing=0>
<tr>
<td colspan=2 class=gb1 width="100%">
<div class=gb1> Insänt: <%=RS("Datum")%> från IP: <%=RS("IP")%> av <%=RS("Namn")%></div>
</td>
<tr>
<td class=gb1 width="40%">
<div class=gb1>Mail:&nbsp;</div> <a class=gb1 href="mailto:<%=RS("Epost")%>?subject=Svar från gästboken på webbisen.com"> <%=RS("Epost")%></a>
</td>
<td class=gb1 width="60%">		  
<div class=gb1>Webb:&nbsp;</div> <a class=gb1 target='_blank' href="<%=RS("Hemsida")%>"> <%=RS("Hemsida")%></a>
</td>
</tr>
<tr>
<td colspan=2 class=gb2 width="100%">
<div class=gb2><%=RS("Meddelande")%>
 </div>
</td>
</tr>
</table>

</td>
</tr>
</table>
</center>
<%
  	RS.MoveNext
	Loop

	RS.Close 
	conn.Close
%>

kan du ge ett exempel?

solbulleMedlem sedan mars 20015 287 inlägg
#28

Kolla i den kod jag postade tidigare VAR hämtningen skall ske.
Det är JÄTTEVIKTIGT att det sker just där.

Sen ska det se ut som här: http://www.webforum.nu/showthread.php?s=&postid=694705#post694705

red,/ Asch, det kommer ju inte att fungera. :(

Du måste flytta över kod från includefilen till detta script eller viceversa tror jag för att få det att lira bra.

Det du loopar i ditt orginalscript ska ju så att säga in där jag skrv först i detta inlägg. (Nu börjar jag bli trött..)

solbulleMedlem sedan mars 20015 287 inlägg
#29

Kanske skulle detta kunna fungera, lite långskott eftersom jag inte kan testa koden.

<%
Function getRecords
	Dim conn
	Dim connstr
	Dim SQL
	Dim RS
	Dim m_arrRecords
		
		Set conn = Server.CreateObject("ADODB.Connection")
		connstr = (" Driver={mySQL};Server=localhost;Port=3306;Option=131072;Stmt
=;Database=;Uid=;Pwd=;")
		conn.Open connstr		
		SQL = "SELECT Namn, Epost, Datum, Meddelande, IP FROM gastbok ORDER BY Datum DESC"
		Set RS = conn.Execute(SQL)
			
				If Not RS.EOF Then
					m_arrRecords = RS.GetRows
					getRecords = m_arrRecords
				End If

				
		RS.Close
		Set RS = Nothing		
		conn.Close
		Set conn = Nothing
End Function

	'## -- skriver ut sidnavigeringen --
	'## -- skriv ut föregående sida --
Sub PrevPage(ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"

	'## -- skriv ut en länk till föregående sida --
	If CInt(WichPage) > 1 Then
		Response.Write "<a href=""" & strScriptName & "&page=" & WichPage - 1 & """><< Föregående</A> "
	Else
		Response.Write "<< Föregående "
	End If
End Sub

	'## -- skriv ut sidnummer navigeringen --
Sub PageNumbers(ByVal HowManyPages, WichPage)
	Dim strScriptName
	Dim I
	
	'## -- kolla om det finns några sidor --
	If HowManyPages = 0 Then
		Response.Write "0"
		Exit Sub
	End If
	
	strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"

	'## -- skriv ut länkar till sid nummer n. 
	'##    Den sida som visas ska ej vara länkad --
	For I = 1 To HowManyPages
		If CInt(I) <> CInt(WichPage) Then
			Response.Write "<A href='" & strScriptName & "?" & _
				"page=" & I & "'>" & I & "</A> "
		Else
			Response.Write "<B>" & I & "</B> "
		End If
	Next

End Sub

	'## -- skriv ut nästa sida --
Sub NextPage(ByVal HowManyPages, ByVal WichPage)
	Dim strScriptName
	strScriptName = Request.ServerVariables("SCRIPT_NAME") & "?View=read"
	
	'## -- skriv ut en länk till nästa sida --
	If CInt(WichPage) < CInt(HowManyPages) Then
		Response.Write "<a href=""" & strScriptName & "&page=" & WichPage + 1 & """>Nästa >></A>"
	Else
		Response.Write " Nästa >>"
	End If

End Sub

'## -- vilken post ska pagingen börja på --
Function getStartID(ByVal PageSize, ByVal ViewPage) ' As Integer
	Dim m_intStart
	m_intStart = ((PageSize * ViewPage) - PageSize)
	getStartID = m_intStart
End Function

Function countPages(ByVal HowManyRecords, ByVal PageSize)
	Dim m_intTotalPages, m_intRest

	m_intTotalPages = HowManyRecords / PageSize

	If m_intTotalPages < 1 Then
		m_intTotalPages = 1
	Else
		m_intRest = m_intTotalPages - CLng(m_intTotalPages)
		
		If m_intRest > 0 AND m_intRest < 0.5 Then
			m_intTotalPages = CLng(m_intTotalPages) + 1
		Else
			m_intTotalPages = CLng(m_intTotalPages)
		End If
	End If

	'## -- return how many pages --
	countPages = m_intTotalPages
End Function

 '##***********************************************************************************

Dim arrRecords
Dim intPageSize
Dim intPage
Dim intStartID
Dim I
Dim intId
Dim Datum
Dim IP
Dim Namn
Dim Epost
Dim Hemsida
Dim Meddelande
Dim intTotalPages
Dim intTotalRecords

'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1

'## -- hur många poster ska visas per sida --
intPageSize = 6

'## -- hämta alla records, hämtas med metoden getrows och returneras 
'##    som en array. --
arrRecords = getRecords

'## -- vilken post är den första --
intStartID = getStartID(intPageSize, intPage)

'## -- printa ut sidan som ska visas
'##    alla poster finns i arrayen arrRecords som
'##    kommer från funktionen getRecords --
	If IsArray(arrRecords) Then

	'## -- hur många records finns det totalt --
	intTotalRecords = UBound(arrRecords,2)

	
	'## -- hur många sidor finns det i recordsetet --
	intTotalPages = countPages(intTotalRecords, intPageSize)

	Response.Write "<P>Visar nu sida <B>" & intPage & "</B> av " & intTotalPages & "</P>"
	For I = intStartID To ((intStartID + intPageSize) -1)
	

Namn = arrRecords(0,I
Epost = arrRecords(1,I)
Datum = arrRecords(2,I)
IP = arrRecords(3,I)

'Namn, Epost, Datum, Meddelande, IP 

Call utskrift()

		If I = UBound(arrRecords,2) Then Exit For
	Next
Else
	'## -- inga poster fanns i db --
	intPage = 0
	intTotalRecords = 0
	intTotalPages = 0
	
	'## -- skriv ut att inga poster hittades --
	Response.Write "<P>Inga poster hittades.</P>"
End If

'## -- skriv ut sidnavigerings menyn --
response.write("<table class=Text1 border=0 width='100%'><tr><td align=left width='33%'>")
Call PrevPage(intPage)
response.write("</td><td align=middle width='33%'>") 
response.write("Antal sidor: ")
Call PageNumbers(intTotalPages,intPage)
response.write("</td><td align=right width='33%'>") 
Call NextPage(intTotalPages,intPage)
response.write("</td></tr></table>") 
%>

Och sen då din ordinarie fil.

	
<% if request.querystring("View") = "read" Then %>

<html>
<head>
<title>Läs gästboken på webbisen.com</title>
<!-- #include file="../Include/js/script.js" -->
<LINK REL=stylesheet HREF="../Include/css/Text.css" TYPE="text/css">
<LINK REL=stylesheet HREF="../Include/css/Link.css" TYPE="text/css">
<LINK REL=stylesheet HREF="../Include/css/Style.css" TYPE="text/css">
</head>

<body class=background>

<div class=shadow3>
<table width="100%" height="100%" border="0" cellspacing="0" cellpadding="0">
	<tr>
		<td>
		<center>
		<!-- Start of main table -->

<table class=table-bg width="60%" height="100%" border="0" cellspacing="0" cellpadding="0">
  	<tr>
    		<td valign="top">
		<!-- Start of logotype -->
		<!-- #include file="../Include/inc-ad.asp" -->	
		<!-- End of logotype -->
		</td>
  	</tr>
	<tr>
		<td valign="top">
		<!-- Start of menu -->
<br><br>
		<!-- #include file="../inc-menu.asp" -->	
		<!-- End of menu -->
<br>
		</td>
	</tr>
	<tr>
		
		<td class=Text1 colspan=2 valign=top width="50%" height="15%">

<center>Läs gästboken på webbisen.com</center>

		</td>
		</tr>
		<tr>
		<td valign=top><br>

<table width="100%" height="300" border="0">
<tr>
<td valign="top">

<!-- #include file="cpaging.asp" -->
<%

Sub utskrift

%>
<center>

<table>
<tr>
<td>
<table class=table width="590" border=0 cellpadding=3 cellspacing=0>
<tr>
<td colspan=2 class=gb1 width="100%">
<div class=gb1> Insänt: <%=Datum%> från IP: <%=IP%> av <%=Namn%></div>
</td>
<tr>
<td class=gb1 width="40%">
<div class=gb1>Mail:&nbsp;</div> <a class=gb1 href="mailto:<%=Epost%>?subject=Svar från gästboken på webbisen.com"> <%=Epost%></a>
</td>
<td class=gb1 width="60%">		  
<div class=gb1>Webb:&nbsp;</div> <a class=gb1 target='_blank' href="<%=Hemsida%>"> <%=Hemsida%></a>
</td>
</tr>
<tr>
<td colspan=2 class=gb2 width="100%">
<div class=gb2><%=Meddelande%>
 </div>
</td>
</tr>
</table>

</td>
</tr>
</table>
</center>
<%
End Sub
%>

</td>
</tr>
</table>

</td>
</tr>
<tr>
<td>

</td>
	</tr>
						
</table>

		<!-- End of main table -->
		</center>
		</td>
	</tr>
</table>
</div>

</body>
</html>

<% End if %>

PS jag klippte bort din include med databaskoppling, lägg in den igen.

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