<% If Request.QueryString("do")="visa" Then
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/nyheter.mdb")
SQL = "SELECT top 10 a.*, (select count(*) as antal from artikel_kommentar Where artikel = a.id)as antal " & _
" From artiklar as a Order By Datum DESC"
set recset = conn.execute(sql)
If RecSet.EOF Then%>
<br>Inga reportage!
else
<br>Listar de tio senaste reportagena!<br><br><%
Do While Not RecSet.EOF
%>
<table border="0" width="90%" cellpadding="0" cellspacing="0" style="border-collapse: collapse" class="celltext">
<tr>
<td width="75%" class="rubrik" style="font-weight: bold"><%=Recset("rubrik")%></td>
<td width="25%"><%=FormatDateTime(Recset("datum"),2)%> </td>
</tr>
<tr>
<td width="100%" colspan="2"><%=Recset("ingress")%><br><a href="reportage.asp?do=visareportage&reportageid=<%=Recset("id")%>">Läs hela!</a> </td>
</tr>
<tr>
<td class="smalltext" colspan="2">Denna artikel är läst: <%=Recset("antalklick")%> ganger och har <%Response.write recset("antal")%> kommentarer.</td>
</tr>
</table><br>
<%
Recset.MoveNext
Loop
Recset.Close
Conn.Close
Set Recset = Nothing
Set Conn = Nothing
End If
End if
%>
Frågan#1
Kör koden rakt av:
<% If Request.QueryString("do")="visa" Then
Set Conn = Server.CreateObject("ADODB.Connection")
Set Recset = Server.CreateObject("ADODB.Recordset")
Set Recset2 = Server.CreateObject("ADODB.Recordset")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/nyheter.mdb")
SQL = "SELECT * From artiklar Order By Datum DESC"
Recset.Open SQL, Conn
x = 0
If RecSet.EOF Then%>
<br>Inga reportage!
<% Else RecSet.MoveFirst
%>
<br>Listar de tio senaste reportagena!<br><br><%
Do While Not RecSet.EOF AND x<10
x = x+ 1
SQL2 = "SELECT count(*) as antal from artikel_kommentar Where artikel = "&RecSet("id")
set Recset2 = Conn.execute(SQL2)
%>
<table border="0" width="90%" cellpadding="0" cellspacing="0" style="border-collapse: collapse" class="celltext">
<tr>
<td width="75%" class="rubrik" style="font-weight: bold"><%=Recset("rubrik")%></td>
<td width="25%"><%=FormatDateTime(Recset("datum"),2)%> </td>
</tr>
<tr>
<td width="100%" colspan="2"><%=Recset("ingress")%><br><a href="reportage.asp?do=visareportage&reportageid=<%=Recset("id")%>">Läs hela!</a> </td>
</tr>
<tr>
<td class="smalltext" colspan="2">Denna artikel är läst: <%=Recset("antalklick")%> ganger och har <%Response.write antal%> kommentarer.</td>
</tr>
</table><br>
<%
antal = 0
Recset2.Close
Set Recset2 = Nothing
Recset.MoveNext
Loop
Recset.Close
Conn.Close
Set Recset = Nothing
Set Conn = Nothing
End If
End if
%>
Problemet är att ovan kod ger antal för alla utskrifter lika med antalet count(*) som sker vid första db-läsingen.
Har jag skrivit Count fel?
Har jag missat fnuttarna??? ;-)
Jag stegrar ju Recset till en ny ID?
Hilfe!
MVH
Johanneshov
