Kan man på något sätt hämta skribents namn och datumet ur en annan tabell i min nuvarande SQL sats? Alltså så jag slipper sätta en RecSet till i loopen
nuvarande:
SQL="SELECT c1.id,c1.namn,c1.beskriv,c2.id as subid,c2.namn as namn2,c2.beskriv as beskriv2,c2.inlagg as inlagg,c2.tradar as tradar FROM forum_cat c1 left join forum_cat c2 on c2.sub=c1.id where c1.sub=0 order by c1.namn,c2.namn"
Den jag vill få in:
"Select skribent,datum FROM forum_inlagg WHERE catID="& Rs("id") &" AND subID="& Rs("subid") &" ORDER BY datum DESC LIMIT 1"
Det är bara att lägga till ytterligare joinklausuler.
SELECT c1.id,c1.namn,c1.beskriv,c2.id as subid,
c2.namn as namn2,c2.beskriv as beskriv2,
c2.inlagg as inlagg,c2.tradar as tradar ,
skribent,datum
FROM forum_cat c1 left join forum_cat c2
on c2.sub=c1.id left join forum_inlagg
on cat_id = c1.id and subId = c2.id
where c1.sub=0
order by datum,c1.namn,c2.namn
Det var inget.
Men nu har ett annat problem dykt upp när jag loopar ut allt och det inte finns några inlägg så får jag detta fel mess fast jag använder en IF sats.
fel meddelandet:
Microsoft VBScript runtime error '800a005e'
Invalid use of Null: 'Month(...)'
koden:
If Rs("datum")="" Then
Response.Write("-")
Else
Response.Write Day(Rs("datum")) & " " & MonthName(Month(Rs("datum")),True) &" kl "& FormatDateTime(Rs("datum"), 4) &"<br>"& Rs("skribent") &""
End If
Nu märkte jag ett annat fel.
Om den hittar någon post i forum_inlagg så slutar den loopen....
Kanske ska ha med looparna.. ;)
Do until Rs.eof
%>
<tr>
<td colspan="4" class="rubrik2" bgcolor="#EFEFEF">
<%=Rs("namn")%>
</td>
</tr>
<tr>
<td colspan="4" height="1" bgcolor="#CCCCCC"></td>
</tr>
<%
strNamn = rs("namn")
Do
If rs.EOF Then Exit Do
If rs("namn") <> strNamn Then Exit Do
%>
'--- lite kod
rs.MoveNext
Loop
Loop