webForumDet fria alternativet

Ordningsföljd

8 svar · 262 visningar · startad av webbmannen

webbmannenMedlem sedan dec. 1999826 inlägg
#1

Jag har en SQL-sats som nääästan gör som jag vill ;)

Ser ut så här:

SQL = "SELECT * FROM events ORDER BY arena, ID ASC"

Förklaring:
arena = olika platser (typ globen, skandinavium osv)
ID = vanligt ID-nummer

Jag skulle nu vilja styra ordningsföljden på vilken arena som presenteras först resp. tvåa osv.
( använder ID till att lista senast inskrivna evenemang högst upp i resp. arena )

Hoppas det blev begripligt :)

/webb

------------------
Vem ska du göra glad imorgon?

[Redigerat av webbmannen den 26 apr 2001]

RossifumiMedlem sedan okt. 20001 558 inlägg
#2
SQL = "SELECT * FROM events ORDER BY arena ASC, ID DESC"

Eller missuppfattade jag dig?

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

webbmannenMedlem sedan dec. 1999826 inlägg
#3

Ja det blev nog lite missuppfattning :h

Kolumnen arena innehåller alltså bara namnet på arenan. Som du ser så har jag lyckats samla dem så de listas ihop arena för arena, men problemet är att få bestämma ordningsföljd av arenorna.

Tex. alla globenevenemang först sedan ... osv.

/webb

------------------
Vem ska du göra glad imorgon?

[Redigerat av webbmannen den 26 apr 2001]

RossifumiMedlem sedan okt. 20001 558 inlägg
#4

OK!

Kolla in den här då, är det något för dig?

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

webbmannenMedlem sedan dec. 1999826 inlägg
#5

Jag förstod inte hur jag skulle göra om förslaget i länken ovan så jag försökte mig på en egen lösning.

Den är inte komplett och fungerar inte, men jag ville visa den för att se om det går att spinna vidare på tanken.

<table cellpadding="3">
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=x:\xxx\xxx\xxx\xxx.mdb"

SQL = "SELECT * FROM events ORDER BY arena, ID ASC"
rs.Open SQL, Connect

Dim plats(6), val

plats(0) = "första namnet"
plats(1) = "andra namnet"
plats(2) = "tredje namnet"
plats(3) = "fjärde namnet"
plats(4) = "femte namnet"
plats(5) = "sjätte nament"

For Each val In plats
	If plats = "" Then
	rs.MoveNext
	End If

Do While Not rs.EOF
%>
<tr>
<td width="435" align="left" bgcolor="#FFEA77" colspan="2"><font face="verdana" size="2" color="#485581"><b><%=rs("rubrik")%></b></font>
</td></tr><tr>
<td width="435" align="left" colspan="2"><font face="verdana" size="1"color="#485581"><%=rs("texten")%></font></td>
</tr></table>
<table cellpadding="3" border="0"><tr>
<td width="300"><font face="verdana" size="2"color="#485581">Plats: <b><%=rs("arena")%></b></font></td>
<td rowspan="3" valign="bottom" align="right">
<form action="order.asp" method="post">
<input type="image" src="../images/ticket.jpg" border="0">
<input type="hidden" name="ID" value="<%=rs("ID")%>">
</form>
</td></tr><tr>
<td width="300"><font face="verdana" size="2"color="#485581">Dag: <b><%=rs("dag")%></b></font></td></tr><tr>
<td width="300"><font face="verdana" size="2"color="#485581">Antal platser: <b><%=rs("platser")%></b></font></td></tr><tr>
<td colspan="2"><font face="verdana" size="2"color="#485581">Priser: <b><%=rs("priser")%></b></font></td></tr><tr>
<td colspan="2" width="435">&nbsp;</td>
</tr>
<%
rs.MoveNext
Loop
Next
%>
</table>

Önskemålet är alltså att lista arenorna i en given ordning, inom samma arena sorteras de med högsta ID överst.

Nu skulle denna kanske hellre legat i ASP-forumet men jag hoppas det finns folk som kikar även här :)

/webb

------------------
Vem ska du göra glad imorgon?

@ndersMedlem sedan juni 200032 969 inlägg
#6

jag hade lagt till ett fält (heltal) i tabellen, med namnet sortfield.

jag hade sedan sett till att alla globenposter hade värdet 1 i sortfield, alla jägersro-poster 2 och alla poster som gäller scandinavium 3 (bara exempel, helge!). sedan hade jag helt sonika sorterat i sql-frågan på, i första hand sortfield, i andra hand id.

mvh,

red: bara fixade en pinsam särskrivning...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
all your base are belong to us!</A>

[Redigerat av @nders den 26 apr 2001]

webbmannenMedlem sedan dec. 1999826 inlägg
#7

Om ingen hittar en lösning med befintliga kolumner så får det bli en till kolumn precis som du beskriver @nders :)

/webb

------------------
Vem ska du göra glad imorgon?

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Det går ju att lägga till dynamiskt,om man vill. (Hackade lite då jag tyckte det var skoj.)


arenas = array("globben","skandinavium","Hovet","Storkyrka","Plattan","Aphuset")
iif = ""
for i = 0 to ubound(arenas)
   iif = iif & "iif(ARENA = '" & arenas(i) & "'," & i & ","
next
iif = mid(iif,1,len(iif)-1) & replace(space(ubound(arenas) + 1)," ",")")

sql = "select arena,id," & iif & _
      "  from events order by 3,2 desc"

eller så kan man ju hårdkoda in iif uttrycket.

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

webbmannenMedlem sedan dec. 1999826 inlägg
#9

Woaw, och jag som drog mig för att skriva till en tabell i databasen :e

Nädu LarsG den nivån klarar jag inte ännu ;) Men tack ändå :)

/webb

------------------
Vem ska du göra glad imorgon?

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)