AsaMedlem sedan dec. 20011 860 inlägg Har denna kod:
<table cellspacing=0 cellpadding=8 border=0 width="100%">
<tr>
<td valign="top" background="bilder/long-bg.gif" height="30" colspan="2"><b>Flest GB-inlägg i din GB:</b></td>
</tr>
<tr>
<td valign="top">
<%Set Flest=Conn.Execute("Select Distinct from_id From gastbok Where to_Id=" & Request.QueryString("id"))
y=1
x=0
Do Until Flest.EOF Or x=8
Set User=Conn.Execute("Select * From users Where userid=" & Flest("from_Id"))
Set Antal = Conn.Execute("select count(from_id) as antal from gastbok where from_Id=" & User("userId") & " And to_Id=" & Request.QueryString("id"))%>
<b><%=y%>.</b> <%=User("alias")%> (<%=Antal("antal")%>)<br>
<%x=x+1
y=y+1
Flest.MoveNext
Loop%>
</td>
</tr>
</table>
Jag vill nu sortera efter den som har mest postade inlägg så den kommer högst upp. Jag använder MySQL databas.
Och vad är fel med denna?
If Cint(Session("userid")) = Cint(Request.QueryString("id")) Then
Conn.Execute("Update gastbok Set read=1 Where to_Id=" & Request.QueryString("id"))
End If
Felmess:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E09)
[TCX][MyODBC]You have an error in your SQL syntax near 'read=1 Where to_Id=1' at line 1
LarsGMedlem sedan dec. 200012 464 inlägg Set Antal = Conn.Execute("select count(from_id) as antal from gastbok where from_Id=" & User("userId") & " And to_Id=" & Request.QueryString("id") order by antal desc)%>
read är ett reserverat ord i SQL så det är bäst att byta namn på den kolumnen.
AsaMedlem sedan dec. 20011 860 inlägg Det går ju inte med det du skrev! Jag måste ju sortera vid denna eller?
Set Flest=Conn.Execute("Select .......
Det med namnbyte gjorde susen på andra problemet.
AsaMedlem sedan dec. 20011 860 inlägg Men den koden ligger ju i loopen där man bara räknar ihop allt å skriver ut namnen. SKa inte själva order grejjen ligga där man hämtar med denna kod?
Set Flest=Conn.Execute("Select Distinct from_id From gastbok Where to_Id=" & Request.QueryString("id"))
LarsGMedlem sedan dec. 200012 464 inlägg Det räcker med en fråga, du kan också begränsa antalet svar till maximalt 8 direkt i frågan.
q = "Select alias,count(*) as antal " & _
" From gastbok inner join users on from_id = user_id " & _
" Where to_Id=" & Request.QueryString("id") & _
" group by alias order by antal desc limit 8"
Set Flest=Conn.Execute(q)
y=1
Do Until Flest.EOF
%>
<b><%=y%>.</b> <%=Flest("alias")%> (<%=Flest("antal")%> )<br>
<%
y=y+1
Flest.MoveNext
Loop%>