webForumDet fria alternativet

Paging Problem

56 svar · 1 438 visningar · startad av _2ejon · sida 3 av 3

_2ejonMedlem sedan jan. 200798 inlägg
#41
set rsPrev = ObjConn.execute("SELECT TOP 1 * FROM weblog WHERE date < #" & v_date & "# ORDER BY date DESC")

Det är Nästa SQL satsen

:P Jag har lagt in det lite bakot vänt bara, men eftersom man börjar på den nyaste posten när man kommer in på sidan så blir juh den koden här över en nästa funktion och inte den funktionen man backar med

För Föregående funktionen fungerar juh :)

Det är bara Nästa som strular lite och vill hoppa till det nyaste id;t

Hittar du något btw? :) Jag ska sätta mig och kolla med men med mina väldigt begränsade kunskaper så får du inte hoppas på ett under ifrån min sida :D hehe

andyoumaydieMedlem sedan dec. 2006608 inlägg
#42

Och då borde det ju vara så enkelt som att ändra '<' till '>' och DESC till ASC här:

set rsPrev = ObjConn.execute("SELECT TOP 1 * FROM weblog WHERE date > #" & v_date & "# ORDER BY date DESC")
_2ejonMedlem sedan jan. 200798 inlägg
#43

Det verkar tyvär inte så :/ Efter jag ändrade det till så som du sa så stod bara sidan å laddade och laddade

set rsPrev = ObjConn.execute("SELECT TOP 1 * FROM weblog WHERE date > #" & v_date & "# ORDER BY date ASC")

och när jag testade denna

set rsPrev = ObjConn.execute("SELECT TOP 1 * FROM weblog WHERE date > #" & v_date & "# ORDER BY date DESC")

så får jag upp detta felmedelande:
ADODB.Field error '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.

/blogg/default.asp, line 60
som är denna kod

vPrevPost = rsPrev("id")
andyoumaydieMedlem sedan dec. 2006608 inlägg
#44

Det var därför du skulle ha en kontroll så att inte recordsetet är eof eller bof.
För visas det senaste inlägget så finns det ju inget senare att länka till.

_2ejonMedlem sedan jan. 200798 inlägg
#45

hum, jag gjorde såhär nu:

		Do While NOT rsWeblog.EOF
			if gotPost = false Then
				Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
				Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")
				
				v_id = rsWeblog("id")
				v_weblog = rsWeblog("weblog")
				v_headline = rsWeblog("headline")
				v_date = rsWeblog("date")
				
[B]				set rsPrev = ObjConn.execute("SELECT TOP 1 * FROM weblog WHERE date > #" & v_date & "# ORDER BY date ASC")
					Do While NOT rsPrev.BOF
				vPrevPost = rsPrev("id")
			loop[/B]
			else
				vNextPost = rsWeblog("id")
			end if

Nu startar sidan å allt men den ger mig inget ID värde på nästa knappen nu, det måste vara nått med SQL frågan då va ?
Det ger bara ?nextpost= vilken sida man än är på nu /nästa knappen alltså

Känns som det börja närma sig nu :) Lite surt bara att det aldrig vill fungera asså

andyoumaydieMedlem sedan dec. 2006608 inlägg
#46

ja, det är nåt fel på sql:en.
Men jag har svårt att se vad. Ska prova lite...

Men den if-satsen du kontrollerar med där är inget jag rekommenderar. :)
Prova istället nåt liknande:

if not rsPrev.eof then
	vPrevPost = rsPrev("id")
else
	vPrevPost = "Du tittar antagligen på senaste inlägget, eller det blev fel" 'Det behöver ju inte stå så, men det kan hjälpa dig i felsökningen
end if
_2ejonMedlem sedan jan. 200798 inlägg
#47

Så nu har jag ändrat if-satsen :P och det fungerar fint :) Så länge man inte trycker nästa då vill säga ;) För då kommer den texten upp i ID rutan.

Asså jag har vridit å vänt på sql satsen nu och inget verkar vilja fungera

kan det ha med hur datumen lagras i access eller är det alltid på samma sätt ?
för så här lagras som i min tabell

id 39´s "date" värde: 2007-05-08 19:38:00
id 41´s "date" värde: 2007-05-09 22:31:00
etc.

andyoumaydieMedlem sedan dec. 2006608 inlägg
#48

Det här fungerar alldeles utmärkt för mig.

				set rsPrev = DB.execute("SELECT TOP 1 * FROM weblog WHERE date > #" & v_date & "# ORDER BY date DESC")
				if not rsPrev.eof then
					vPrevPost = rsPrev("id")
				else
					vPrevPost = ""
				end if

Och jag kan inte se varför det inte skulle fungera för dig.
Kan du inte posta hela din nuvarande kod.

_2ejonMedlem sedan jan. 200798 inlägg
#49

nä inte jag heller :/

här kommer den:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- #include file="admin/DBconn.asp" -->
<!-- #include file="config/config.asp" -->
<!-- #include file="inc/include.asp" -->
<!-- #include file="lang/SE.asp" -->
<!-- #include file="admin/count.asp" -->

<%
Dim rsWeblog
Dim rsComments
Dim rsCat
Dim rsCategory
Dim rsPrev
Dim v_id
Dim v_weblog
Dim v_headline
Dim v_date
%>

<head>
<title><%=title2%></title>
<meta name="description" content="<%=desc%>">
<meta name="keywords" content="<%=meta%>">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="revisit-after" content="2 days" />
<meta name="robots" content="all" />
<meta name="generator" content="LBlog" />
<link href="css/styletest.css" rel="stylesheet" type="text/css">

</head>

<body>

<%	if request.querystring("nextpost") = "" Then
		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog ORDER BY date DESC")
	else
   		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog where id<=" & request.querystring("nextpost") & " ORDER BY date DESC")
	end if			
	if rsWeblog.EOF Then
		Response.Write(""&emptyPosts&"")
	Else
		gotPost = false

		Do While NOT rsWeblog.EOF
			if gotPost = false Then
				Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
				Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")
				
				v_id = rsWeblog("id")
				v_weblog = rsWeblog("weblog")
				v_headline = rsWeblog("headline")
				v_date = rsWeblog("date")
				
				set rsPrev = ObjConn.execute("SELECT TOP 1 * FROM weblog WHERE date > #" & v_date & "# ORDER BY date ASC")
					if not rsPrev.eof then
						vPrevPost = rsPrev("id")
					else
						vPrevPost = "Du tittar antagligen på senaste inlägget, eller det blev fel" 'Det behöver ju inte stå så, men det kan hjälpa dig i felsökningen
				end if

			else
				vNextPost = rsWeblog("id")
			end if

			gotPost = true

			rsWeblog.MoveNext
		loop
		rsWeblog.Close 
		Set rsWeblog = Nothing
	End If
%>
		<div id="menyen">
			<div id="menycontainer">
				<!-- #include file="menu2.asp" -->
			</div>
			<div id="hogerc">
				«&nbsp;<a href="default.asp?nextpost=<%=vNextpost%>">Föregående</a>&nbsp;|&nbsp;
				<a href="default.asp?nextpost=<%=vPrevpost%>">Nästa</a>&nbsp;»&nbsp;
				<img src="icons/comments.gif">&nbsp;<a href="comments.asp?id=<%=v_id%>" class="bar"><%=comments%> <b>(<%=rsComments("antal")%>)</b></a>
			</div>
		</div>
		<div id="container">
			<div id="body">			
				<br>
				<center>
					<table border=0 cellborder=0 cellspacing=0 height=100%>
						<td>
							<center>
								<div id="bildram2">
									<div id="bildram">
										<!-- BlogbotContentStart --><a href="default.asp?nextpost=<%=vNextpost%>" title="previous entry"><%=v_weblog%></a><!-- BlogbotContentEnd -->
									</div>
								</div>
							</center>
						</td>
					</table>
				</center>
				<tt><!-- BlogbotTitleStart --><%= v_headline %><!-- BlogbotTitleEnd --></tt>				
			</div>
		</div>
		
		<div id="menyen">
			<div id="vansterd">
				<div class="date"><%=posted%><!-- BlogbotDateStart --><%=v_date%><!-- BlogbotDateEnd --></div>
			</div>
			<div id="hoger">
				<div id="menycontainer">
					<!-- #include file="menu3.asp" -->
				</div>
			</div>
		</div>
</body>
</html>

<%
Call CloseDatabase
%>
andyoumaydieMedlem sedan dec. 2006608 inlägg
#50

Din sql ska se ut såhär: (DESC istället för ASC)

set rsPrev = DB.execute("SELECT TOP 1 * FROM weblog WHERE date > #" & v_date & "# ORDER BY date DESC")

och så tar du bort den där texten som jag la till.

if not rsPrev.eof then
						vPrevPost = rsPrev("id")
					else
						vPrevPost = ""
					end if

Fungerar det inte då?

_2ejonMedlem sedan jan. 200798 inlägg
#51

åhh blir man tokig eller ?
då kommer denna fel kod upp :/

Microsoft VBScript runtime error '800a01a8'

Object required: 'DB'

/blogg/default.asp, line 58

Vad menar den med att den behöver DB ?

andyoumaydieMedlem sedan dec. 2006608 inlägg
#52

Sorry, det var jag som glömde ändra från min kod. :)
byt DB på rad 58 mot ObjConn

_2ejonMedlem sedan jan. 200798 inlägg
#53

så nu har jag ändrat det me men det är fortfaradne inget id nr på nästa knappen :/
Men allt annat fungerar :S Det funkade för dig sa du. Det kan inte ha med hur datumen lagras som jag beskrev innan ?

andyoumaydieMedlem sedan dec. 2006608 inlägg
#54

Det tror jag inte. De är ju fortfarande antingen större eller mindre.

PM:a mig msn så löser vi det här väldigt enkelt.

_2ejonMedlem sedan jan. 200798 inlägg
#55

Så har addat dig nu :)

_2ejonMedlem sedan jan. 200798 inlägg
#56

så nu har vi äntligen löst detta :D Det tog sin lilla tid å komma på vad det va men med --> andyoumaydie <--´s fulla hjälp så fixade det sig, plus att han har lärt mig mkt. Tack och åter tack :D
Men här kommer iaf den slutliga koden

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<% Option Explicit %>
<% Session.lcid = 1053 %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!-- #include file="admin/DBconn.asp" -->
<!-- #include file="config/config.asp" -->
<!-- #include file="inc/include.asp" -->
<!-- #include file="lang/SE.asp" -->
<!-- #include file="admin/count.asp" -->

<%
Dim meta, css, logo, title2, BadWords, Domain, newFolder, RSScomment, RSStitle, RSSlink, RSSdescription, poweredby, title, comments, bloglinks, calendar, search, slogan
Dim posted, category, recentPosts, recentComments, posted_by, info, category2, weblogArchive, archive, addComment, noBadword, menu, default, about, admin
Dim comment_name, comment_email, comment_email_noshow, comment_url, comment_msg, strCatError, searchString_false, searchString_true, searchStringEmpty, emptyCalendar
Dim emptyComments, emptyPosts, dato, tid, strSQL, SQL, rs, strAntal, strSQLupdate, desc
Dim gotPost
Dim rsWeblog
Dim rsComments
Dim rsCat
Dim rsCategory
Dim rsPrev
Dim v_id
Dim v_weblog
Dim v_headline
Dim v_date
Dim vPrevPost
Dim vNextPost
%>

<head>
<title><%=title2%></title>
<meta name="description" content="<%=desc%>">
<meta name="keywords" content="<%=meta%>">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="revisit-after" content="2 days" />
<meta name="robots" content="all" />
<meta name="generator" content="LBlog" />
<link href="css/styletest.css" rel="stylesheet" type="text/css">

</head>

<body>

<%	if request.querystring("showimage") = "" Then
		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog ORDER BY date DESC")
	else
   		set rsWeblog = ObjConn.execute("SELECT TOP 2 * FROM weblog where id<=" & request.querystring("showimage") & " ORDER BY date DESC")
	end if			
	if rsWeblog.EOF Then
		Response.Write(""&emptyPosts&"")
	Else
		gotPost = false

		Do While NOT rsWeblog.EOF
			if gotPost = false Then
				Set rsComments = objConn.Execute("SELECT Count(comments.blogID) AS antal FROM comments WHERE comments.blogID = " & rsWeblog("id") & ";")
				Set rsCategory = ObjConn.Execute("SELECT * FROM category WHERE cat_id = " & rsWeblog("cat_id") & "")
				
				v_id = rsWeblog("id")
				v_weblog = rsWeblog("weblog")
				v_headline = rsWeblog("headline")
				v_date = rsWeblog("date")
				
				set rsPrev = ObjConn.execute("SELECT TOP 1 * FROM weblog WHERE date > #" & v_date & "# ORDER BY date ASC")
				if not rsPrev.eof then
					vPrevPost = rsPrev("id")
				else
					vPrevPost = ""
				end if

			else
				vNextPost = rsWeblog("id")
			end if

			gotPost = true

			rsWeblog.MoveNext
		loop
		rsWeblog.Close 
		Set rsWeblog = Nothing
	End If
%>
		<div id="menyen">
			<div id="menycontainer">
				<!-- #include file="menu2.asp" -->
			</div>
			<div id="hogerc">
				«&nbsp;<a href="default.asp?showimage=<%=vNextpost%>">Föregående</a>&nbsp;|&nbsp;
				<a href="default.asp?showimage=<%=vPrevpost%>">Nästa</a>&nbsp;»&nbsp;
				<img src="icons/comments.gif">&nbsp;<a href="comments.asp?id=<%=v_id%>" class="bar"><%=comments%> <b>(<%=rsComments("antal")%>)</b></a>
			</div>
		</div>
		<div id="container">
			<div id="body">			
				<br>
				<center>
					<table border=0 cellborder=0 cellspacing=0 height=100%>
						<td>
							<center>
								<div id="bildram2">
									<div id="bildram">
										<!-- BlogbotContentStart --><a href="default.asp?showimage=<%=vNextpost%>" title="previous entry"><%=v_weblog%></a><!-- BlogbotContentEnd -->
									</div>
								</div>
							</center>
						</td>
					</table>
				</center>
				<tt><!-- BlogbotTitleStart --><%= v_headline %><!-- BlogbotTitleEnd --></tt>				
			</div>
		</div>
		
		<div id="menyen">
			<div id="vansterd">
				<div class="date"><%=posted%><!-- BlogbotDateStart --><%=v_date%><!-- BlogbotDateEnd --></div>
			</div>
			<div id="hoger">
				<div id="menycontainer">
					<!-- #include file="menu3.asp" -->
				</div>
			</div>
		</div>
</body>
</html>

<%
Call CloseDatabase
%>
headbugMedlem sedan sep. 2006867 inlägg
#57

Najs och hoppas det går bra i fortsättningen :p

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