webForumDet fria alternativet

Problem med loop

3 svar · 298 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Hej.
Jag får inte till detta riktigt.
Jag har i en variabel lagt in alfabetet, och splitat dessa. Sen vill jag kolla om
jag har en text som börja på den splitade variablens bokstav, om jag har
skall en länk skrivas ut, annas ingen länk, män bokstaven skall skrivas ut.

if not Rs.EOF then

Do While NOT Rs.EOF

	For i = LBound(talfaBetet) TO UBound(talfaBetet)
		response.write "<td>"

		if LEFT(Rs("Title"),1)=talfaBetet(i)then
			response.write "<font size=2><strong>
<a HREF=""result.asp?id=" & talfaBetet(i) & """  target=""mitten"">" & 
talfaBetet(i) & " </a></strong></font>"
		else
			response.write talfaBetet(i)
		end if

		response.write "</td>"

	Next
RS.MoveNext
Loop
end if

Jag har suttit och petat och fixat, men resultatet blir det samma, alfabetet
skrivs ut för varje ny träff. Jag har alltså ett fel, men jag kan inte se hur jag skall fixa till detta.

emissionMedlem sedan dec. 19996 721 inlägg
#2

Det blir fel eftersom du loopar igenom alfabetet en gång per rad i recordsetet. Eftersom du inte verkar använda recordsetet till något annat så kan du lika gärna söka ut bokstäverna på en gång.

Med Access

SELECT DISTINCT left(Title,1) FROM tabellen ........ ORDER BY left(Title,1)
UffeVäxjö!Medlem sedan okt. 200111 inlägg
#3

Hej

Jag hade skapat en ny tabell med alla bokstäver (tecken) som jag ville få en träff på. Tabellnamn = alfabetet, fältnamn = bokstav

Och ändrat Sql'en till:

SELECT DISTINCT alfabetet.bokstav AS Bokstav, IIF(LEFT(dintabell.ditttextfält,1) IS NULL, 'Nej', 'Ja') AS Finns

FROM dintabell RIGHT JOIN alfabetet ON LEFT(dintabell.ditttextfält,1) = alfabetet.bokstav

ORDER BY 1

Do While NOT Rs.EOF

    response.write "<td>"

    if Rs("Finns") = "Ja" then
        response.write "<font size=2><strong><a HREF=""result.asp?id=" & Rs("Bokstav") & """    target=""mitten"">" & Rs("Bokstav") & " </a></strong></font>"
    else
        response.write Rs("Bokstav")
    end if

    response.write "</td>"

    Next

RS.MoveNext

Loop

Vill man kan man bygga lite till på sql'en och få fram hur många träffar man får på varje bokstav (tecken).

/Uffe

sawMedlem sedan mars 20011 880 inlägg
#4

Tack för hjälpen. Detta bevisar att man kan bli fullständigt insnöad framått natten...

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