webForumDet fria alternativet

Sortera under bokstäver

ASPur ASP

11 svar · 316 visningar · startad av Zerephina

Medlem sedan sep. 2000206 inlägg
Frågan#1

Jag har massor av länkar i en databas som jag vill sortera upp. Jag vill ha rubriken A åssen alla länkar som börjar på A under och sen B osv osv. Skall det göras i SQL-satsen eller går det att göra IF-satser? Jag gjorde en liten en som inte funkade =) Eftersom att det nu bara står = B. Behövs juh nått i i stil med LIKE eller nått? Vad är smartast?

<% IF namn = "B" THEN %>
Medlem sedan juni 200032 969 inlägg
#2

Det funkar bra att sköta den selekteringen i SQL-frågan, mha LIKE.

strBokstav = Request.Querystring("bokstav")
strSQL = "SELECT * FROM tabellen WHERE Fält LIKE '" & strBokstav & "%' ORDER BY Fältet"

Mvh,

Medlem sedan sep. 2000206 inlägg
#3

Jag skall klura lite på det. Jag får det inte att funka. Jag får inte ens upp ett felmeddelande =)

Medlem sedan feb. 2001256 inlägg
#4

Men du måste väl göra en databas anrop för varje bokstav eller har jag fattat din fråga fel.. Du vill typ ha alla länkar visade och sorterade under respektive bokstav eller ??

Medlem sedan sep. 2000206 inlägg
#5

Ja alla på samma sida åsså under respektive bokstav. Det var därför jag var lite inne på en if-stas för varje bokstav? Jag tänkte lägga kanske... 50-100 länkar på varje sida. Det blir kanske lite långsamt?

Medlem sedan juni 2000974 inlägg
#6

Gör som Anders skrev, lägg in varje bokstav i en tabell å loopa fram dem genom en dropdownmeny, då kan du se till att du sorterar det du vill ha efter varje bokstav.

Medlem sedan juni 200032 969 inlägg
#7

Jag tror att jag missförstod frågan.

VIll du alltså lista allt på samma sida, i bokstavsordning, med bokstavsrubriker?

Mvh,

Medlem sedan dec. 20003 563 inlägg
#8

Skulle det här kunna vara något?
Det kommer bli ungefär:
A
Andersson
Axelsson
B
Bengtsson
Beller
C
Cissier

set RS = "SELECT * FROM tabellen WHERE Fält LIKE '" & strBokstav & "%' ORDER BY Fält"

do until RS.eof
if first_letter <> left(RS("Fält"), 1) then response.write(left(RS("Fält"), 1) ) & "<br>"
first_letter = left(RS("Fält"), 1)
response.write RS("Fält") & "<br>"
RS.movenext
loop

Medlem sedan feb. 200112 078 inlägg
#9

:q

set RS = "SELECT * FROM tabellen WHERE Fält LIKE '" & strBokstav & "%' ORDER BY Fält"

Jag förstår inte hur denna sats kommer att hjälpa henne, då den baseras på att välja en bokstav, när det hon vill är att visa alla på samma sida, inte en speciell.

Rätt sträng borde väl vara

set RS = "SELECT * FROM tabellen ORDER BY Fält"
Medlem sedan dec. 20003 563 inlägg
#10

mm OveRRidE stämmer :r

Medlem sedan sep. 2000206 inlägg
#11

Jag hittade en mycket lätt lösning, ibland har man nytta av C-progr vi hade i skolan ;o)

<% do while Not rs.EOF
bokst = Left(rs("namn"), 1)

IF Not bokst = oldbokst THEN %>
Medlem sedan feb. 200112 078 inlägg
#12

Samma modell som Cyprus kodexempel ovan. :)

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