Avatar billede larsen45 Juniormester
18. juli 2004 - 17:30 Der er 16 kommentarer og
3 løsninger

Problem med kryds af (checkbox) Please help

Kryds af boks med Ja/nej i databasen har jeg sat op
men har nu bøvl med at kunne opdatere det i databasen.
Her er min opdaterings side:
----------------------------
Conn.Open DSN


strNavn = replace(request.form("Navn"), "'", "''")
strVisindlaeg = replace(request.form("Visindlaeg"), "'", "''")
strKlub = replace(request.form("Klub"), "'", "''")
strEmail = replace(request.form("Email"), "'", "''")
strHjemmeside = replace(request.form("Hjemmeside"), "'", "''")
strKommentar = replace(request.form("Kommentar"), "'", "''")

strSQL = "UPDATE gaest SET Navn='" & StrNavn & "',Visindlaeg='" & strVisindlaeg & "',Klub='" & strKlub & "',Email='" & strEmail & "',hjemmeside='" & strHjemmeside & "',kommentar='" & strKommentar & "' WHERE id=" & Request.querystring("id")
Conn.Execute (strSQL)
conn.Close
Set conn = nothing
%>
--------------------------

Jeg har dette som kryds af felt.
<input type="checkbox" name="visindlaeg" value="Visindlaeg">

Men det havde nu været smart at have en side som viser om
feltet er krydset af eller ikke gnyffet af, så man altid har overblikket over om indlægget er offentlig for alle eller kun for admin.

Så opdatere checkbox og vise checkbox markeret eller ikke markeret.

Jeg for forresten følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
Avatar billede pezzo Nybegynder
18. juli 2004 - 17:37 #1
Value for Visinlaeg skal være enten True eller False hvis den i databasen har felttypen Ja/Nej.

Når du så skal tjekke om den er afkrydset siger du:

<input type="checkbox" name="visindlaeg" value="True" <% if rs("visindlaeg") = True then %>checked<% end if %>
Avatar billede pezzo Nybegynder
18. juli 2004 - 17:37 #2
Sådan her: <input type="checkbox" name="visindlaeg" value="True" <% if rs("visindlaeg") = True then %>checked<% end if %>>
Avatar billede pezzo Nybegynder
18. juli 2004 - 17:37 #3
SQL skal være sådan her:

strSQL = "UPDATE gaest SET Navn='" & StrNavn & "',Visindlaeg=" & strVisindlaeg & ",Klub='" & strKlub & "',Email='" & strEmail & "',hjemmeside='" & strHjemmeside & "',kommentar='" & strKommentar & "' WHERE id=" & Request.querystring("id")
Avatar billede larsen45 Juniormester
18. juli 2004 - 18:01 #4
Det virker fint nok med den kode du har vist pezzo.
Men nu kan jeg ikke få lov til selv at bestemme om der skal stå nået i feltet eller ej. Det skal helt være frivilligt om jeg vil indtaste eller ej.

og så skal også finde ud af hvordan jeg på selve visnings siden kan
vise om der er krydset af i feltet eller ej.
Avatar billede pezzo Nybegynder
18. juli 2004 - 18:04 #5
Det forstår jeg ikke helt?

Kan du ikke "afmærker" checkboksen eller hvad er det problemet er ?
Avatar billede larsen45 Juniormester
18. juli 2004 - 18:07 #6
Har prøvet lige prøvet med strVisindlaeg = cBool(request.form("Visindlaeg"))
og det virker med dette nu.
Avatar billede pezzo Nybegynder
18. juli 2004 - 18:20 #7
Okai :)
Avatar billede larsen45 Juniormester
18. juli 2004 - 18:32 #8
Tak pezzo
En lille detajle ved du hvordan man kan skrive en anden tekst i sin gæstebog hvis vedkommende ikke har indtastet sit navn i feltet eller klub så der automatisk bliver skrevet:
Navn: anonym
Klub: ingen klub
------------------
        <input size="34" name="Navn" style="font-family: Verdana; color: #FFFFFF; border: 1px solid #000000; margin: 1px; background-color: #003265">
Avatar billede pezzo Nybegynder
18. juli 2004 - 18:36 #9
du siger bare i udtrækket:

<%
navn = rs("feltnavn")
if not navn <> "" then
output_navn = "Anonym"
else
output_navn = navn
end if
%>

SÅ skal du blot tage variablen output_navn og indsætte på navn pladsen.
Avatar billede larsen45 Juniormester
18. juli 2004 - 18:41 #10
okay jeg er nu lidt usikker på hvordan jeg kan sætte det sammen med dette her
Så jeg ikke laver fejl i det.


set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strsql, conn
rs.MoveFirst

If RS.EOF then

Response.write "ingen data i db endnu"

Else
Do While (NOT rs.EOF)

%></p>

<table border="1" width="66%" bordercolor="#003265" id="table2" bordercolorlight="#003265" bordercolordark="#003265" style="border: 1px solid #003265" bgcolor="#EFF2F3">
    <tr>
        <td bordercolorlight="#003265" bordercolordark="#003265" width="53%" valign="top">
<font size="1" face="Verdana">
<p style="margin-top: 0; margin-bottom: 0">
<%=rs("Dato")%></a></font></p>
<p style="margin-top: 0; margin-bottom: 0">
<font face="Verdana"><b><font size="1">Navn:</font></b><font size="1">
<%=rs("Navn")%></font></font></p>
<p style="margin-top: 0; margin-bottom: 0"><font size="1" face="Verdana">
<%=rs("Hjemmeside")%></font></td>
        <td bordercolorlight="#003265" bordercolordark="#003265" width="43%" valign="top">
        <font size="1" face="Verdana">
<%=rs("Klub")%></a></font><p style="margin-top: 0; margin-bottom: 0">
        <font face="Verdana"><b><font size="1">Email:</font></b><font size="1"> <a href="mailto:<%=RS("Email")%>"><%=RS("Navn")%></font></font></td>
    </tr>
    <tr>
        <td bordercolorlight="#003265" bordercolordark="#003265" colspan="2">
        <font size="1" face="Verdana">
        <div style="width: 514px; height: 18px" id="lag1">
<%=rs("Kommentar")%></div>
        </font></td>
    </tr>
    </table>

<font face="Verdana">
<table border="0" width="66%" id="table8">
    <tr>
        <td><hr></td>
    </tr>
</table>

</font>
<p style="margin-top: 0; margin-bottom: 0">


 
<font face="Verdana">



<%
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
%>
<% End If %>
Avatar billede pezzo Nybegynder
18. juli 2004 - 18:47 #11
Efter koden Do While (NOT rs.EOF) skriver du:

navn = rs("feltnavn")
if not navn <> "" then
output_navn = "Anonym"
else
output_navn = navn
end if


samt udskifter:
<font face="Verdana"><b><font size="1">Navn:</font></b><font size="1">
<%=rs("Navn")%></font></font></p>

med dette:
<font face="Verdana"><b><font size="1">Navn:</font></b><font size="1">
<%=output_navn%></font></font></p>
Avatar billede larsen45 Juniormester
18. juli 2004 - 18:53 #12
fint jeg tester lige af
Avatar billede pezzo Nybegynder
18. juli 2004 - 18:56 #13
navn = rs("feltnavn")

skal være sådan her:
navn = rs("navn")

min feejl :)
Avatar billede larsen45 Juniormester
18. juli 2004 - 19:08 #14
ok retter lige
Avatar billede larsen45 Juniormester
18. juli 2004 - 19:15 #15
Det virker Perfekt nu.

Og hvis jeg så skal have flere med gør jeg så bare sådan her:
<%
Navn = rs("Navn")
if not Navn <> "" then
output_Navn = "Anonym"
else
output_Navn = Navn
end if
%>
<%
Klub = rs("Klub")
if not Klub <> "" then
output_Klub = "Ingen klub tilføjet"
else
output_Klub = Klub
end if
%>

Eller er der en smartere måde når man har flere.
Avatar billede larsen45 Juniormester
18. juli 2004 - 20:28 #16
Nå men takker ihvertfald pezzo for din store hjælp
Point på vej.
Avatar billede pezzo Nybegynder
18. juli 2004 - 21:55 #17
Nej der findes ikke rigtigt andre måder og gøre det på.,
Avatar billede larsen45 Juniormester
18. juli 2004 - 23:35 #18
Ok pezzo
Er du forresten til at få fat på i enten MSN eller ICQ??
Avatar billede pezzo Nybegynder
18. juli 2004 - 23:37 #19
Ja på peter@pezzo.dk (MSN)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester