Vraag & Antwoord

Webprogrammeren & scripting

[ASP] een variabele met waarde A waarde B geven

7 antwoorden
  • Ik heb op mijn website een overzichtje van gebruikers die via SQL uit een database gehaald worden. Nu staat in de database voor het veld gender de waarde [b:b9e7b0143e]male[/b:b9e7b0143e] of [b:b9e7b0143e]female[/b:b9e7b0143e]. Nu wil ik in het overzichtje echter een [b:b9e7b0143e]M[/b:b9e7b0143e] of een [b:b9e7b0143e]F[/b:b9e7b0143e] weergeven. Hoe kan ik dit oplossen? Ik heb nu de volgende code, maar dan geeft ie de error Microsoft VBScript compilation error '800a040e' 'loop' without 'do' :-? [code:1:b9e7b0143e] <% do until RS.EOF Dim rsgender, gender rsgender = RS("gender") If rsgender = "male" Then gender = "M" If rsgender = "female" Then gender = "F" End If %> <tr width="500"> <td width="20"> <%=RS("UserID")%>. </td> <td width="150"> <a href="profile.asp?mid=<%=RS("UserID")%>"><%=RS("username")%></a> </td> <td width="160"> <%=RS("country")%> </td> <td width="140"> <%=RS("birthday")%> <%=RS("birthmonth")%> <%=RS("birthyear")%> </td> <td width="50"> <%=("gender")%> </td> </tr> <tr width="500"> <td width="20"> <hr> </td> <td width="150"> <hr> </td> <td width="160"> <hr> </td> <td width="140"> <hr> </td> <td width="50"> <hr> </td> </tr> <% RS.moveNext loop RS.close oConn.close set RS = Nothing set oConn = Nothing %> [/code:1:b9e7b0143e] Als ik het stukje van: [code:1:b9e7b0143e] Dim rsgender, gender rsgender = RS("gender") If rsgender = "male" Then gender = "M" If rsgender = "female" Then gender = "F" End If [/code:1:b9e7b0143e] weghaal en <%=gender%> weer <%=RS("gender")%> maak werkt het wel overigens.. maar dat is niet zoals ik het zou willen :( ... Hoe kan ik dit oplossen? Bij voorbaat dank... :D
  • [b:dd7590a75e][color=darkred:dd7590a75e]If[/color:dd7590a75e][/b:dd7590a75e] constructie is fout, onderstaande zal al beter werken [code:1:dd7590a75e] If rsgender = "male" Then gender = "M" End If If rsgender = "female" Then gender = "F" End If [/code:1:dd7590a75e] of (ietsjes anders, incl standaard waarde) [code:1:dd7590a75e] Select Case rsgender Case "male" gender = "M" Case "female" gender = "F" Case Else gender = "" End Select [/code:1:dd7590a75e] overigens zal dit [code:1:dd7590a75e]<%=("gender")%>[/code:1:dd7590a75e]ook niet 100% werken natuurlijk ;)
  • [quote:28f578c607] overigens zal dit Code: <%=("gender")%> ook niet 100% werken natuurlijk [/quote:28f578c607] :oops: iets te snel gewerkt ... maar ik denk dat het aan de If constructie ligt ja, zal het even testen :D... bedankt
  • Enne, vanuit de database bekeken is het volgens mij beter om een waarde als deze als een bit (boolean) op te slaan. Scheelt weer wat ruimte. Maar da's eigenlijk alleen als je zo'n zeikerd als ik ben.. ;) Elja
  • Volgens mij moet het volgende ook werken.... [code:1:9814c874e6]<% Response.Write UCase(Left(RS("gender"),1))%>[/code:1:9814c874e6] Lijkt me iets eenvoudiger...
  • [quote:cd14c7e570="Arkomat"][code:1:cd14c7e570]<% Response.Write UCase(Left(RS("gender"),1))%>[/code:1:cd14c7e570] Lijkt me iets eenvoudiger...[/quote:cd14c7e570]Ligt er maar net aan wat je onder eenvoud verstaat. Persoonlijk vind ik de if constructie duidelijker dan de regel die jij geeft. 't Is korter, maar je zal daar wel commentaar bij moeten geven. Bovendien heeft de if-then-else het "voordeel" dat er maar 2 mogelijkheden uit kunnen komen, in jouw geval zal je dus op andere plekken de uitgangswaarde moeten garanderen, bijv bij de invoer in de database. Oke, geen al te sterk argument, maar het geeft imho wel aan dat "eenvoud" vrij betrekkelijk is en meestal niet is uit te drukken in 1 enkele regel code.
  • Dat eenvoud betrekkelijk is ben ik met je eens. Maar als ik de keuze heb tussen twee entries (male & female) zoals in dit geval gebruik ik zelf liever geen if-then-else constructie. Ik hou graag mijn script kort en bondig. Maar dat is denk ik persoonlijk..... Echter zodra er meerdere mogelijkheden [u:26e230da78]ingevoerd[/u:26e230da78] kunnen worden, en het dus geen statische content meer is maar dynamisch, ben ik met je eens dat je beter de if-then-else constructie kunt gebruiken omdat je die beter van kunt vangen. Dat van dat commentaar begrijp ik niet helemaal. Op het forum of ....???

Beantwoord deze vraag

Weet jij het antwoord op deze vraag? Registreer of meld je aan met je account

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.