Toon posts:

[ASP] drop down menu mbv Sessie var

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste Tweakers,

Ik wil een pulldown menu vullen mbv een sessie variabele (ASP en Ultradev). Met de volgende extra functionaliteit: Voor elke nummer waar sessie var = hoodfiliaalnr vul de pulldown. (de bedoeling is indien een hoofdfiliaal inlogt dat deze ook zijn filialen in de pulldown heeft, maar als filiaal inlogt dat deze alleen het eigen filiaal ziet).
Ik heb eea vertaald naar onderstaande code maar het werkt niet.


<%
For Each RSanvrnr.Fields.Item("Hoofdfiliaal") Where Session("MM_username") = RSanvrnr.Fields.Item("Hoofdfiliaal") Do
<option value="<%= Session("MM_username") %>" <%if (CStr(Session("MM_username")) = CStr(RSanvrnr.Fields.Item("Hoofdfiliaal"))) then Response.Write("SELECTED") : Response.Write("")%>><%= RSanvrnr.Fields.Item("Hoofdfiliaal")%></option>
End If
%>

Bedankt voor de moeite!

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 17:08

mulder

ik spuug op het trottoir

Dan kan wel kloppen, want zo op het oog klopt hier helemaal niks van.

Heb je wel eerder wat met ASP gedaan? Dit lijkt wel een mix met SQL.. sorry hier kan ik niks mee.

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Ik heb zeker wel het eea met ASP gedaan, maar als het niet lukt wordt je wanhopig en ga je gekke dingen doen, i guess...

Verwijderd

asp is voor mij al wel weer een tijdje geleden, maar t principe is op zich vrij eenvoudig.

wat je moet doen (althans wat ik in eerste instantie zou doen), is kijken of het filiaal dat inlogt, nog filialen onder zich heeft, zo ja, daar de query op aanpassen, en die resultaten weergeven.

Verwijderd

Topicstarter
Helemaal mee eens, maar ik kan het niet correct vertalen naar werkende code; suggesties?

Verwijderd

Topicstarter
Ik heb mijn code aangepast naar onderstaand maar de pulldown blijft leeg |:( !

Wat gaat er fout?

<% If Session("MM_username") = RSanvrnr.Fields.Item("Hoofdfiliaal") Then
While (NOT RSanvrnr.EOF)

<option value="<%=(RSanvrnr.Fields.Item("ANVRnr").Value)%>" <%if (CStr(RSanvrnr.Fields.Item("ANVRnr").Value) = CStr(RSanvrnr.Fields.Item("Hoofdfiliaal").value)) then Response.Write("SELECTED") : Response.Write("")%> ><%=(RSanvrnr.Fields.Item("ANVRnr").Value)%></option>

RSanvrnr.MoveNext()
End If
Wend
If (RSanvrnr.CursorType > 0) Then
RSanvrnr.MoveFirst
Else
RSanvrnr.Requery
End If
%>

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 17:08

mulder

ik spuug op het trottoir

- Recordset = "SELECT * FROM .. WHERE ..."
- For Each Record In Recordset
- Volgens mij heeft Session("MM_username") maar 1 value, lijkt mij tenminste.

Maar hoe dan ook, je krijgt zo maar 1(unique) value in je selectionbox, die in principe allemaal selected zijn.

Er staat ongeveer:
voor elke appel waar appel = appel
voeg toe appel, als appel = appel then selected

Edit: dit gaat over de eerste code

oogjes open, snaveltjes dicht


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 17:08

mulder

ik spuug op het trottoir

K'snap van wat je doet, maar ik kan me het volgende voorstellen.

(Uit hoofd, geen correcte syntax)
code:
1
2
3
4
  rst = OpenRecordset("SELECT * FROM Filialen WHERE Hoofdfiliaal = " & Sesssion("MM_username") 
  while(Not rst.EOF)
    ' voeg toe
  loop

Maar moet daar ook het hoofdfiliaal ook tussen staan dan?

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
Juist: hoofdfiliaal moet filialen + hoofdfiliaal zien; filiaal alleen eigen filiaal.

Jouw code lijkt ok voor hoofdfiliaal, maar filiaal wordt zo naar mijn idee niet getoond, Am I correct?

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 17:08

mulder

ik spuug op het trottoir

Op donderdag 21 februari 2002 11:18 schreef PartyPeter het volgende:
Juist: hoofdfiliaal moet filialen + hoofdfiliaal zien; filiaal alleen eigen filiaal.

Jouw code lijkt ok voor hoofdfiliaal, maar filiaal wordt zo naar mijn idee niet getoond, Am I correct?
Nee, andersom. Mijn code voegt alle filialen onder hoofdfiliaal toe, maar niet zichzelf

Dus verder nu:
1)Vul recordset met alle filialen waar hoofdfiliaal = SessionValue
2)Voeg hoofdfiliaal toe, maak selected
3)fiets door recordset en voeg records toe

oogjes open, snaveltjes dicht


Verwijderd

Helaas lukt het nog steeds niet. Wie is de genie?

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 12-09 21:31

Janoz

Moderator Devschuur®

!litemod

Moet je die <option> tag niet met respond.output oid printen.. Ik werk zelf niet met ASP, maar ik kan me voorstellen dat, waneer je iets in je HTML wilt hebben, je dit ook erin moet 'printen' in niet zomaar tussen je VB-code moet gooien.....

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • gotcha
  • Registratie: Oktober 1999
  • Laatst online: 29-07 18:20
't is me niet geheel duidelijk hoe je database eruit ziet maar ik stel me voor dat je een tabel met filialen hebt, met daarin een veld "hoofdfililaalnr"; dit veld is leeg als het filiaal zelf een hoofdfiliaal is.

je gaat de dropdown vullen met:
-het filiaal zelf
-de filialen die onder het filiaal vallen (alleen als filiaal = hoofdfiliaal)

dus de query wordt;
strSQL = "SELECT * FROM tbdFilialen WHERE fldFiliaalID = " & Session("filiaalnr") & " OR fldHoofdFiliaalID = " & Session("filiaalnr")

voor een hoofdfiliaal geeft dit A) zichzelf en B) zijn filialen terug, voor een gewoon filiaal A) zichzelf en B) niks, want er zijn geen filialen met dit filiaal als hoofdfiliaal.

dan rest nog het vullen van je dropdown;
'doe hier eerst je recordset openen
Response.write "<SELECT id="filialen">"
While Not recordset.EOF
If recordset("fldFiliaalID") = Session("filiaalnr") Then
Response.write "<OPTION ... selected>...</OPTION>"
Else
Response.write "<OPTION ...> </OPTION>
End If
Wend
recordset.close
Pagina: 1