[ASP] for-loop binnen de code van van een select

Pagina: 1
Acties:

  • Ruud2001
  • Registratie: November 2000
  • Laatst online: 14-09 08:52

Ruud2001

a.ka. Ruud2000

Topicstarter
He volk,

Ik heb het volgende probleem:

Met behulp van ASP lees ik gegevens uit een Access-database. Nu wil ik een kolom uit deze database weergeven in een dropdown-menu.

Zelf heb ik het volgende idee:
Eerst de gegevens uitlezen en dan plaatsen in een array. Vervolgens een for-loop gebruiken om iedere positie van de array toe te voegen in het menu.
code:
1
2
3
4
5
6
7
8
9
10
11
12
<%
Response.Write(" <form method='post' action=dbUpdateKlanten.asp' id=form1 name=klantenbestand> ")
Response.Write(" <select name='klantenbestand'> ")
if lngRecords <> "" then
    for i = 0 to lngRecords
        Response.Write("<option>"  & arrRs(i) & "</option>")
    next
else
    Response.Write("Geen inhoud")
end if
Response.Write(" </form> ")
%>

lngRecords : dit is de lengte van het array
arrRs : is het array waarin ik de kolom uit de database heb weggeschreven.

Probleem is dat dit dus niet werkt.

p.s. Sorry voor het vern**ken van de lay-out ;)

"Imagination is more important than knowledge" - Albert Einstein


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Je mist een </select>.

PS verder zou ik niet weten waarom je niet in een loopje een dropdown box kan vullen. Of je nou
<select>
<option>1
<option>2
<option>3
</select>

doet, of
<select>
For i = 1 To 3
Response.Write "<option>" & i
Next
</select>

De html code is uiteindelijk hetzelfde...

Exact expert nodig?


  • Ruud2001
  • Registratie: November 2000
  • Laatst online: 14-09 08:52

Ruud2001

a.ka. Ruud2000

Topicstarter
ja klopt, zag ik net ook, maar helaas doettie het dan nog niet :(

Ik ben al wel tot de ontdekking gekomen dat het op de een of andere manier niet werkt om tussen de <select> tags iets anders te plaatsen dan de <option> tags.

Nu heb ik daarom het volgende idee:

Op een of andere manier de data uit de kolom van de database zo aanpassen dat die in 1 variabele komt te staan. Vervolgens deze variabele tussen de <option> tags plaatsen met als gevolg dat als die variabele wordt ingelezen, alle options worden toegevoegd.

"Imagination is more important than knowledge" - Albert Einstein


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Kan maar er zal ongetwijfeld een andere reden zijn.
code:
1
2
3
4
5
6
7
8
<select>
<%
Do While Not rs.EOF
    Response.Write "<option>" & rs("veldje") & vbCrLf
    rs.MoveNext
Loop
%>
</select>

Iets gestript van niet-publieke info, maar het is gewoon werkende code, niks mis mee. Kijk nog eens goed of je array bv wel goed gevuld is. Of zet de <select> binnen de if, zodat die melding als er geen gegevens zijn (oid) niet als item in de select-box wordt getoont.

Exact expert nodig?


  • MrBrown
  • Registratie: Augustus 2000
  • Laatst online: 11-06 15:51

MrBrown

Reservoir Dog

Wat doet ie niet? Krijg je een foutmelding oid, of gewoon niets op je scherm? Als er niets op je scherm komt, staat er wel wat in de source van de pagina aan output? Heb je al geprobeerd de inhoud van de recordset gewoon naar het scherm te outputten zonder option-tags eromheen? Dit moet namelijk gewoon kunnen..

Powered by Manetti (compiled by Jura)


  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Eerst kijk je of lngRecords geen lege string is en daarna wil je in de for-loop tot de waarde van lgnRecords gaan.
Probeer het zo eens. :)
code:
1
2
3
4
5
6
7
8
9
If UBound(arrRS,1) <> 0 Then
  Response.Write "<select name = 'klantenbestand'>"
  For i = 0 to UBound(arrRS,1)
   Response.Write "<option value = '" & arrRS(i) & "'>" & arrRS(i) & "</option>"
  Next
  Response.Write "</select>"
Else
  Response.Write "&nbsp;"
End If

  • Ruud2001
  • Registratie: November 2000
  • Laatst online: 14-09 08:52

Ruud2001

a.ka. Ruud2000

Topicstarter
He bedankt Gert ! Afbeeldingslocatie: http://www.lyddonhall.co.uk/gifs/thumb.gif

De code werkt nu iig, alleen nu blijkt dat er waarschijnlijk ergens iets niet goed zit in m'n SQL-statement.

Ik zal jullie daar verder niet mee vermoeien en dat zelf wel uitzoeken.

Iedereen heel erg bedankt voor de reacties :)

"Imagination is more important than knowledge" - Albert Einstein

Pagina: 1