webForumDet fria alternativet

Sortera under bokstäver

ASPur ASP

11 svar · 316 visningar · startad av Zerephina

ZerephinaMedlem sedan sep. 2000206 inlägg
#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 %>
@ndersMedlem 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,

ZerephinaMedlem 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 =)

phazer23Medlem 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 ??

ZerephinaMedlem 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?

RifflesMedlem 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.

@ndersMedlem 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,

cyprysMedlem 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

OveRRidEMedlem 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"
cyprysMedlem sedan dec. 20003 563 inlägg
#10

mm OveRRidE stämmer :r

ZerephinaMedlem 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 %>
OveRRidEMedlem sedan feb. 200112 078 inlägg
#12

Samma modell som Cyprus kodexempel ovan. :)

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