Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[ASP] een variabele met waarde A waarde B geven

Annie
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")%>&nbsp;<%=RS("birthmonth")%>&nbsp;<%=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]
  • [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

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