Tjenare!
Hur i helsike gör man så såhär:
A
Hämtar alla tävlinar på A i databasen
B
Hämtar alla tävlinar på B i databasen
C
Hämtar alla tävlinar på C i databasen
o.s.v.
Tacksam för härliga svar :D
7 svar · 555 visningar · startad av webbSAJTEN
Tjenare!
Hur i helsike gör man så såhär:
A
Hämtar alla tävlinar på A i databasen
B
Hämtar alla tävlinar på B i databasen
C
Hämtar alla tävlinar på C i databasen
o.s.v.
Tacksam för härliga svar :D
men då måste ja ju skapa 28 olika secordset..
De känns rätt onödigt..
SELECT * FROM tblContest
WHERE ContestName LIKE 'A%'
OR ContestName LIKE 'B%'
OR ContestName LIKE 'C%'
ORDER BY ContestName ASC
Så hämtar du data från en databas. Men vad du vill göra förstår jag egentligen inte? Du kör ju en While-loop för att skriva ut all data i ETT reckordset. Du behöver inte skapa 28 olika...
Har du inte lite ASP kod att visa istället så blir det enklare att svara...
Jag har en massa tävlingar lagrade i en databas.
Dom vill jag skriva ut med en rubrik som är den första bokstaven i namnen..
Som jag skrev...
Hittade en kod här på WF..
Do Until RS.EOF
If LCase(Left(RS("strName"), 1)) <> strPreviousStartLetter Then
Response.Write("<h1>" & UCase(Left(RS("strName"), 1)) & "</h1>")
End If
response.Write(RS("strName"))
'// skriv ut text och beskrivning
strPreviousLetter = LCase(Left(RS("strname"), 1)) '\\ Forberedelse infor nasta db-post
RS.MoveNext
Loop
Den fungerar inte riktigt, den skriver inte ut två tävlingar under samma rubrik utan skriver ut en rubrik före varje namn..
Du får lägga in den i en variabel.
strPreviousLetter = ""
Do Until RS.EOF
If UCase(Left(RS("strName"), 1)) <> strPreviousLetter Then
Response.Write("<b>" & strPreviousLetter & "</b>")
strPreviousLetter = UCase(Left(RS("strname"), 1))
End If
response.Write RS("strName") &"<br>"
RS.MoveNext
Loop
Kolla på char() i dokumentationen
FOR j = 65 TO (65+28)
-- response.write CHAR(j) & " , "
NEXT
Are you with!?
Den fungerade nästan.. :)
Jesper T skrev:
Du får lägga in den i en variabel.
strPreviousLetter = "" Do Until RS.EOF If UCase(Left(RS("strName"), 1)) <> strPreviousLetter Then Response.Write("<b>" & strPreviousLetter & "</b>") strPreviousLetter = UCase(Left(RS("strname"), 1)) End If response.Write RS("strName") &"<br>" RS.MoveNext Loop
strPreviousLetter = ""
Do Until RS.EOF
If UCase(Left(RS("strName"), 1)) <> strPreviousLetter Then
strPreviousLetter = UCase(Left(RS("strname"), 1))
Response.Write("<b>" & strPreviousLetter & "</b>")
End If
response.Write RS("strName") &"<br>"
RS.MoveNext
Loop
Nu fungerar det fint :D