webForumDet fria alternativet

Antal svar

ASP

4 svar · 124 visningar · startad av Bj

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

Jag får inte till det när det gäller att räkna antalet svar i ett inlägg.
Skickar med lite av koden nedan.

Set RecSet1 = Server.CreateObject("ADODB.Recordset")
RecSet1.CursorLocation = adUseClient
Visa = "SELECT * FROM forumrubriker Where SvarId = 0 ORDER BY RubrikId DESC"
RecSet1.Open Visa, Connect, adOpenStatic, adLockOptimistic

Dim antal_svar
Antal_Svar = "SELECT count(*) as antal_svar FROM forumrubriker WHERE svarID =" & RecSet1("rubrikID")

<%=antal_svar%>
<a href=inlagg.asp?inlaggID=<% =RecSet1("RubrikID") %>><% =left(RecSet1("Rubrik"),100) %></a>
<%=RecSet1("Namn")%>
<%=RecSet1("Datum")%>

I tabellen "forumrubriker" finns
RubrikId
SvarId
Namn
Rubrik
Meddelande
datum

Medlem sedan dec. 200012 464 inlägg
#2
Set RecSet1 = Server.CreateObject("ADODB.Recordset")
RecSet1.CursorLocation = adUseClient
Visa = "SELECT * FROM forumrubriker Where SvarId = 0 ORDER BY RubrikId DESC"
RecSet1.Open Visa, Connect, adOpenStatic, adLockOptimistic
Dim antal_svar,svar
while not recset1.eof
Antal_Svar = "SELECT count(*) as antal_svar FROM forumrubriker WHERE svarID =" & RecSet1("rubrikID")

svar = connect.execute(antal_svar)
%>
<% = svar("antal_svar")%>
<a href=inlagg.asp?inlaggID=<% =RecSet1("RubrikID") %>><% =left(RecSet1("Rubrik"),100) %></a>
<%=RecSet1("Namn")%>
<%=RecSet1("Datum")%>
<% recset1.movenext
wend %>

Eventuellt så går det att skriva det med en select-fråga. Det beror på vilken databashanterare du använder.

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2000314 inlägg
#3

Tack för Ditt svar men jag lyckades inte... Skickar med hela sidan då jag förmodligen rör ihop det med ngt annat.

<!-- #include file="adovbs.inc" -->
<!-- #include file="connect.asp" -->
<link rel="stylesheet" href="textmall_main.css">

<div align="center">
  <center>
<table border="0" width="600" cellspacing="1">
  <tr>
    <td width="9%" bgcolor="#C0C0C0"><b>Svar</b></td>
    <td width="41%" bgcolor="#C0C0C0"><b>Rubrik</b></td>
    <td width="25%" bgcolor="#C0C0C0"><b>Startat av</b></td>
    <td width="25%" bgcolor="#C0C0C0"><b>Senaste inlägg</b></td>
  </tr>
</table>
  </center>
</div>

	<%
	Dim Page_Size
	Dim Current_Page
	Dim Page_Count
	Page_Size = 10 '###------här anger du hur många inlägg som skall visas på varje sida--------
	If Request("Page") = "" Then
	Current_Page = 1
	Else
	Current_Page = CInt(Request("Page"))
	End If

	Set RecSet1 = Server.CreateObject("ADODB.Recordset")
	RecSet1.CursorLocation = adUseClient
	RecSet1.PageSize = Page_Size
	Visa = "SELECT * FROM forumrubriker Where SvarId = 0 ORDER BY RubrikId DESC"
	RecSet1.Open Visa, Connect, adOpenStatic, adLockOptimistic
	Page_Count = RecSet1.PageCount
	If 1 > Current_Page Then Current_Page = 1
	If Current_Page > Page_Count Then Current_Page = Page_Count
	RecSet1.AbsolutePage = Current_Page
	Do While RecSet1.AbsolutePage = Current_Page And Not RecSet1.EOF

	Dim datumnow
	datumnow = now 
	strDatum = left(datumnow, 10)
	Dim nytt
	nytt = left(RecSet1("Datum"), 10)
	If nytt=strDatum Then
	%>

<div align="center">
  <center>
<table border="0" width="600" cellspacing="1">
  <tr>
    <td width="9%"><%=antal_svar%></td>
    <td width="41%" bgcolor="#EEEEEE"><b>NY!!</b> <a href=inlagg.asp?inlaggID=<% =RecSet1("RubrikID") %>><% =left(RecSet1("Rubrik"),100) %></a></td>
    <td width="25%" bgcolor="#EEEEEE"><%=RecSet1("Namn")%></td>
    <td width="25%" bgcolor="#EEEEEE"><%=RecSet1("Datum")%></td>
  </tr>
</table>
  </center>
</div>
	<% Else %>

<div align="center">
  <center>
<table border="0" width="600" cellspacing="1">
  <tr>
    <td width="9%"><%=antal_svar%></td>
    <td width="41%" bgcolor="#EEEEEE"><a href=inlagg.asp?inlaggID=<% =RecSet1("RubrikID") %>><% =left(RecSet1("Rubrik"),100) %></a></td>
    <td width="25%" bgcolor="#EEEEEE"><%=RecSet1("Namn")%></td>
    <td width="25%" bgcolor="#EEEEEE"><%=RecSet1("Datum")%></td>
  </tr>
</table>
  </center>
</div>
<% End If %>

 	<%
	RecSet1.MoveNext
	Loop
	RecSet1.Close
	Connect.Close
	Set Connect = Nothing

Response.Write "<center>"
Response.Write "<td colspan=""4"" align=""center"">"
If Current_Page = 1 Then
Response.Write "<font face =""verdana"" color=""silver"" & size=""1"">" & "Första </font><font size=""1"">&nbsp;&#0124;</font> "
End If 
If Current_Page >= 2 Then
Response.Write "<a href=""rubriker.asp?Page=1"
Response.Write """><font face =""verdana""  size=""1""><< Första</font></a><font size=""1""> &#0124;</font> " & vbCrLf
End If 
If Current_Page >= Page_Count Then
Response.Write "<font face =""verdana""  color=""silver"" Size=""1"">Nästa >></font><font size=""1""> &#0124;&nbsp;</font>"
End If 
If Current_Page < Page_Count Then
Response.Write "<a href=""rubriker.asp?Page="
Response.Write Current_Page + 1
Response.Write """><font face =""verdana""  size=""1"">Nästa ></font></a>" & "&nbsp;<font size=""1"">&#0124;</font>" & vbCrLf
End IF 
If Current_Page <> 1 Then
Response.Write "<a href=""rubriker.asp?Page="
Response.Write Current_Page - 1
Response.Write """><font face =""verdana""  size=""1"">< Föregående </font></a><font size=""1"">&nbsp; &#0124;</font> " & vbCrLf
Response.Write " " & vbCrLf
End If 
If Current_Page = 1 Then
Response.Write "<font face =""verdana""  color=""silver"" & size=""1"">" & "< Föregående </font><font size=""1"">&#0124;</font> "
End If 
If Current_Page <> Page_Count Then
Response.Write "<a href=""rubriker.asp?Page="
Response.Write Page_Count
Response.Write """><font face =""verdana""  size=""1"">Sista >></font></a>" & vbCrLf
End If 
If Current_Page >= Page_Count Then
Response.Write "<font face =""verdana""  size=""1"" color=""silver"">Sista</font>" & "</font>"
End If 
	%>

I filen connect ser det ut så här.

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=C:\InetPub\wwwroot\forum1\db123456.mdb"
%>
Medlem sedan dec. 200012 464 inlägg
#4

Jag lade till den feta koden inuti din loop.

Do While RecSet1.AbsolutePage = Current_Page And Not RecSet1.EOF

Dim datumnow
datumnow = now 
strDatum = left(datumnow, 10)
Dim nytt
nytt = left(RecSet1("Datum"), 10)
[b]
Antal_Svar = "SELECT count(*) as antal_svar FROM forumrubriker " &_
" WHERE svarID =" & RecSet1("rubrikID")
svar = connect.execute(antal_svar)
antal_svar = svar("antal_svar")
[/b]
If nytt=strDatum Then
%>

<div align="center">
<center>
<table border="0" width="600" cellspacing="1">
<tr>
<td width="9%"><%=antal_svar%></td>
<td width="41%" bgcolor="#EEEEEE"><b>NY!!</b> <a href=inlagg.asp?inlaggID=<% =RecSet1("RubrikID") %>><% =left(RecSet1("Rubrik"),100) %></a></td>
<td width="25%" bgcolor="#EEEEEE"><%=RecSet1("Namn")%></td>
<td width="25%" bgcolor="#EEEEEE"><%=RecSet1("Datum")%></td>
</tr>
</table>
</center>
</div>
<% Else %>

<div align="center">
<center>
<table border="0" width="600" cellspacing="1">
<tr>
<td width="9%"><%=antal_svar%></td>
<td width="41%" bgcolor="#EEEEEE"><a href=inlagg.asp?inlaggID=<% =RecSet1("RubrikID") %>><% =left(RecSet1("Rubrik"),100) %></a></td>
<td width="25%" bgcolor="#EEEEEE"><%=RecSet1("Namn")%></td>
<td width="25%" bgcolor="#EEEEEE"><%=RecSet1("Datum")%></td>
</tr>
</table>
</center>
</div>
<% End If %>

<%
RecSet1.MoveNext
Loop
RecSet1.Close

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 2000314 inlägg
#5

Bröt ned scriptet i stället och testade med ditt förslag LarsG.
Naturligtvis funkade det.
Tack för hjälpen!

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