Hej. Vad använder du för databas? Hej. Plats i kön
Jobbar på ett system för att anmäla intresse. Har en tabell med intresserade. I tabellen är det anvid, annonsid och datum. Annonsid är självklart id för vilken annons den representerar och anvid är den intresserades id.
Har sedan en medlemstabell med id, username osv. Har försökt på alla möjliga sätt att bygga upp ett kösystem. Ex:
Du är har plats 4 i kön.
Det ska baseras utifrån vilket registreringsdatum personen har i databasen. Så har en person datum före en annan är självklart han med först datum först i kön.
Min kod idag ser ut såhär. Känns lite som jag är på helt fel spår.... Set ObjRS = Connect.Execute("Select anvid,annonsid,datum,id from tbl_intresse where anvid = '"&Clng(session("id"))&"'")
Const anvid = 0
Const annonsid = 1
Const datum = 2
Const id = 3
If ObjRS.EOF then
Response.Write("Du har inte anmält intersse för något än")
else
Do until ObjRS.EOF
Dim c
if c = "ffffff" then c = "FFF4D8" else c = "ffffff"
Dim ObjAnnons, ObjKommun
Set ObjAnnons = Connect.Execute("Select adress,id,kommun from tbl_annonser where id = '"&Clng(ObjRS(annonsid))&"'")
Set ObjKommun = Connect.Execute("Select namn from tbl_kommuner where id = '"&Clng(ObjAnnons("kommun"))&"'")
%>
<div style="float:left;width:250px;background-color:#<%=c%>;height:30px;">
<div style="padding:6px;">&rn=<%=region%><%end if%>"><%=Server.HTMLencode(ObjAnnons("adress"))%>, <%=ObjKommun("namn")%></div>
</div>
<div style="float:left;width:70px;background-color:#<%=c%>;height:30px;">
<%
Dim ObjPlats
Set ObjPlats = Connect.Execute("Select Count(*) as plats from tbl_intresse where datum = '"&ObjRS(datum)&"'")
%>
<div style="padding:6px;"><%=ObjPlats("plats")%></div>
Vänliga hälsningar.
Sv: Plats i kön
Om du använder Access kan du använda joins och en underfråga på så sätt bara använda ett recordset och spara round-trips till databasen:
Dim c
Dim strSQL
strSQL = "SELECT tbl_intresse.anvid, tbl_intresse.datum, tbl_intresse.id, " + vbCrLf + _
" tbl_annonser.adress, " + vbCrLf + _
" tbl_kommuner.namn " + vbCrLf + _
" (SELECT Count(*)" + vbCrLf + _
" FROM tbl_intresse as sub" + vbCrLf + _
" WHERE (sub.annonsid = tbl_intresse.annonsid) AND " + vbCrLf + _
" (sub.datum <= tbl_intresse.datum)) AS plats"
"FROM (tbl_intresse LEFT JOIN " + vbCrLf + _
" tbl_annonser ON (tbl_intresse.annonsid = tbl_annonser.id)) " + vbCrLf + _
" tbl_kommuner ON (tbl_annonser.kommun = tbl_kommuner.id) " + vbCrLf + _
"WHERE anvid = '"&Clng(session("id"))&"'"
Set ObjRS = Connect.Execute(strSQL)
If ObjRS.EOF then
Response.Write("Du har inte anmält intersse för något än")
else
Do until ObjRS.EOF
If c = "ffffff" Then c = "FFF4D8" Else c = "ffffff"
%>
<div style="float:left;width:250px;background-color:#<%=c%>;height:30px;">
<div style="padding:6px;">&rn=<%=region%><%end if%>"><%=Server.HTMLencode(ObjRS("adress"))%>, <%=ObjRS("namn")%></div>
</div>
<div style="float:left;width:70px;background-color:#<%=c%>;height:30px;">
<div style="padding:6px;"><%=ObjRS("plats")%></div>
<%
ObjRS.MoveNext
Loop
End If
Om du inte använder Access så kanske du måste uppdatera SQL frågan något.
Sv:Plats i kön
Tack för hjälpen än så länge. Men jag använder mig av MySQL men JOIN ska fungera där med.
Får felet.
[MySQL][ODBC 3.51 Driver][mysqld-5.1.41-community]You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT Count(*) FROM tbl_intresse as sub WHERE (sub.annonsid = tbl_i' at line 4
Rad 34 är "Set ObjRS = Connect.Execute(strSQL)"
Ser personligen inget fel, men fel är det.
Tack.