webForumDet fria alternativet

Räkna inlägg i gästbok

ASP

13 svar · 508 visningar · startad av mackanz

Medlem sedan sep. 2003443 inlägg
Frågan#1

hur gör man om man skulle vilja skriva ut i en gästbok hur många inlägg det är.

Har en gästbok med en herrans massa inlägg, och skulle vilja ha att det vid inlägget står inlägg
inläggnr: 342 exempelvis?

Det skalö stå vid varje inlägg vilket nummer det är.

Man kan ju inte loopa ut gestbok_id eftersom det ger en fektlig bild eftersom man har fått raderat poster.

Kan någon ge mej ett kodförslag/kodexempel???

Medlem sedan nov. 20021 222 inlägg
#2

Så här kanske...

<%
set rs = connect.execute("Select * from gastboken order by id desc") 

set rsCount = connect.execute("Select count(*) as antal from gastboken") 

count = rsCount("antal")
Do until rs.eof
count = count - 1
response.write "Inläggnr: " & count 
response.write "<br><br>"
response.write rs("INLÄGGET")

rs.movenext
loop
%>
Medlem sedan sep. 2003443 inlägg
#3

tabellen bytte jag ut mot gast (den heter gast i databasen), men ska jag byta ut antal också eller????

jag fick:

Körningsfel i Microsoft VBScript (0x800A01A8)
Objekt krävs.: ''
Medlem sedan juni 200032 967 inlägg
#4

Då har du väl skrivit fel objektnamn, men det är ju omöjligt att svara på ordentligt, eftersom du inte visar någon kod.

Medlem sedan sep. 2003443 inlägg
#5
	<td><b><font color="#000000">Inlägg från besökare
	
	<%
set rsCount = DinConn.execute("Select count(*) as antal from gast")

response.write rsCount("antal")
%>

	
	
	</font></b></td><td align="right"><%
Session.LCID = 1053
Response.write cDate(rsrecset("dat"))
%></td><td width="1">&nbsp;</td>
<td width="16"><a href="mailto:<%=rsRecset("email")%>">
<img src="../images/gbokiconmail.gif" border="0" alt="<%=rsRecset("email")%>" WIDTH="14" HEIGHT="14"></td>
<td width="16"><a href="<%=rsRecset("www")%>" target="_blank">
<img src="../images/gbokiconwww.gif" border="0" alt="<%=rsRecset("www")%>" WIDTH="14" HEIGHT="14"></td>
</table></td>

</tr>

<tr>

	<td class="gbsvar" width="15%">Namn: 
	<%=rsRecset("name")%>&nbsp;</td>

</tr>

<tr>

	<td class="gbsvar" colspan="2">

	<%=Replace(Server.HTMLEncode(rsRecset("message")),vbcrlf,"<BR>")%>
	</td>

</tr>
Medlem sedan juni 200032 967 inlägg
#6

Hmm, var skapar du rsRecset någonstans?

Medlem sedan nov. 20021 222 inlägg
#7

Du fick felmeddelande förut för att du hade glömt bytt namn på DinConn. Där ska namnet på din connection stå.

Följ detta kod exempel så fungerar det fint. Du får ändra databasnamnet och tabellnamnet till
det du har annars blir det felmeddelanden :)

<%
set connect = server.createobject("adodb.connection")
connect.open "Driver={Microsoft Access driver (*.mdb)};dbq=" & Server.MapPath("DATABASEN.mdb")

set rs = connect.execute("Select * from TABELLEN order by id desc") 
set rsCount = connect.execute("Select count(*) as antal from TABELLEN") 

count = rsCount("antal")

do until rs.eof 
response.write "InläggNr: " & count & "<br><br>"
response.write "Inlägg: " & rs("INLÄGG") & "<br><br>" 
count = count - 1
rs.movenext
loop

%>
Medlem sedan sep. 2003443 inlägg
#8

jag har ju en include fil där jag har sjäölva kopplingen/anropningen.
Bufogar hela koden

	
	<!-- #include file="..\inc\gbqpb.asp" -->

	</head>
	
<body>

<br><br>
<table align="center"><tr><td>
<a href="gast.asp">Skriv ett nytt inlägg här</a></b><br><br>

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

<%'-*Start kommentar*-Här skapar jag en sträng som lägger till data i databasen-*Avslutande kommentar*-%> 
<%'-*Fortsätter kommentar*-som ska sparas i kontakt posten i databasen-*Avslutande kommentar*-%>

<%strShow = "SELECT * FROM gast ORDER BY dat desc"%>
<%rsRecset.Open strShow, cnConn, 3, 3%>

<%
intsida=trim(Request.QueryString("sida"))
if intsida = "" then
intsida = 1
else
intsida = cint(intsida)
end if

%>

<%'-*Startar kommentar*-Här skapar jag verksamhetslogik för-*Avslutar kommentar*-%> 
<%'-*Fortsätter kommentar*-att kommunicera med datasen via Recordeset-*Avslutande kommentar*-%>

<%'<table border="0" width="70%" height="40%" align="center"  cellspacing="0" cellpadding="0">%>

<table border="0" width="600" align="center" cellspacing="0" cellpadding="2" bordercolor="#eaf1fe">

<%
if rsRecset.EOF=true then 
Response.Write("Det finns inga inlägg i gästboken")
else
rsRecset.PageSize = 8
rsRecset.AbsolutePage = intsida
end if
%>

<%
do until rsRecset.eof or intantal >= rsRecset.PageSize
intantal = intantal + 1
%>

<tr>
<td id="post" colspan="2" align="left" bgcolor="#ccd6e9" bordercolor="#76A9D4">

<!-- datumtabelltoppen-->
<table border="0" width="100%" cellspacing="0">
<tr>
	<td><b><font color="#000000">Inlägg från besökare
	
	<%
set rsCount = DinConn.execute("Select count(*) as antal from gast")

response.write rsCount("antal")
%>

	
	
	</font></b></td><td align="right"><%
Session.LCID = 1053
Response.write cDate(rsrecset("dat"))
%></td><td width="1">&nbsp;</td>
<td width="16"><a href="mailto:<%=rsRecset("email")%>">
<img src="../images/gbokiconmail.gif" border="0" alt="<%=rsRecset("email")%>" WIDTH="14" HEIGHT="14"></td>
<td width="16">
<a href="<%=rsRecset("www")%>" target="_blank">
<img src="../images/gbokiconwww.gif" border="0" alt="<%=rsRecset("www")%>" WIDTH="14" HEIGHT="14"></td>
</table></td>

</tr>

<tr>

	<td class="gbsvar" width="15%">Namn: 
	<%=rsRecset("name")%>&nbsp;</td>

</tr>

<tr>

	<td class="gbsvar" colspan="2">

	<%=Replace(Server.HTMLEncode(rsRecset("message")),vbcrlf,"<BR>")%>
	</td>

</tr>

<tr>
	<td height="15">&nbsp;</td>
</tr>

<tr><td colspan="2"><br>

<%
rsRecset.movenext
loop
%>

Sida: <%if rsRecset.Pagecount > 1 then 
for i = 1 to rsRecset.PageCount
if i <> intsida then 
Response.Write("<a href='gast_show.asp?sida=" & I & "' & > " & I & " </a>") 

	else
	Response.Write(I & " " )
	end if
	next
end if

%>

</td></tr>

</table>

<%rsRecSet.Close%>
<%cnConn.Close%>
<%Set rsRecSet = Nothing%>
<%Set cnConn = Nothing%>
Medlem sedan nov. 20021 222 inlägg
#9

Såg du inte mitt kodexempel, som sagt gå efter det....:)

Medlem sedan sep. 2003443 inlägg
#10

ursäkta men jag vill hellre bena ut vad som fel i min kod

Medlem sedan nov. 20021 222 inlägg
#11

Vad blir det för felmeddelande utöver det du sa förut?

Medlem sedan sep. 2003443 inlägg
#12

Nu funkar nästan ;)
Nu loopas det upp att det är 870 inlägg, men sen vill man ju ha varje inlägg numrerat kanske???
Eller tycker ni det är onödigt????

Jag avhjälpte felet med att ändra dinconn tll CNconn

Medlem sedan nov. 20021 222 inlägg
#13

Jag har ju gett dig kod för det! Och jag sa ju att du SKULLE TA BORT DinCONN!

Tar det igen.....

<%
set connect = server.createobject("adodb.connection")
connect.open "Driver={Microsoft Access driver (*.mdb)};dbq=" & Server.MapPath("DATABASEN.mdb")

set rs = connect.execute("Select * from TABELLEN order by id desc") 
set rsCount = connect.execute("Select count(*) as antal from TABELLEN") 

count = rsCount("antal")

do until rs.eof 
response.write "InläggNr: " & count & "<br><br>"
response.write "Inlägg: " & rs("INLÄGG") & "<br><br>" 
count = count - 1
rs.movenext
loop

%>
Medlem sedan nov. 20021 222 inlägg
#14

Fick du det att fungera med inläggens nr?

276 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
142 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)