Avatar billede soren_sejs Nybegynder
31. marts 2001 - 16:12 Der er 20 kommentarer

checkbox , radiobutton & Dropdown box fra database - igen igen, samt databaseudtræk

Jeg her kigget en del spøgrsmål igemmem med hensyn til overstående, men har ikke kunne finde noget der virkede.

Spørgsmålet siger næsten sig selv
1. Chechbox:
Jeg har en side hvor man kan rette forskellige oplysninger online, hvordan får jeg det lavet så den henter den aktuelle værdi fra databasen og overfører den til siden, sådan så hvis boksen i Access er 0 eller hvad det nu hedder, så er den også hakket af på siden man får at se.....
Samt hvordan jeg går hvis man så vælger at den ikke skal være hakket af, og man så trykker opdater, så den retter det i databasen.
---------------------------------------------
2. Dropdown box:
Jeg her sider hvor man opretter data i en database, når man så vil rette i det igen, skal den vise den aktuelle status som den heter i databasen.
---------------------------------------------
3. Radiobutton:
Jeg er ikke sikker på at de hedder dette, men jeg mener dem hvor der f.eks. er en der hedder ja og nej, men til forskel fra checkbox kan man kun vælge en af dem, men spørgsmålet er det samme som ved 1. checkbox.
---------------------------------------------

Jeg her i databasen et felt der hedder email_status og et felt der hedder email, sådan som jeg går det i dag, laver jeg på email listen en udtræk hvor den tager alle med hvor email_status er ja, men det er træls at først vælge om man har email eller ej, og derefter indtaste mailen, så hvordan kan jeg lave det sådan, at jeg for et udtræk hvor den kun tager dem med hvor feltet email ikke er tomt
---------------------------------------------
Jeg vil gerne have et eksempel til aaalle mine spørgsmål, som er lige til at kopiere.
Avatar billede bms Nybegynder
31. marts 2001 - 16:23 #1
1.:
<input type=\"checkbox\" value=\"On\" name=\"NOGET\" <% If RS(\"NOGET\")=True Then Response.write \"checked\" End If%>>

2:
<select name=\"Kategori\">
  <option value=\"0\">Kategoti...</option>
  <option value=\"kategori1\"<% If Kategori = \"kategori 1\" Then response.Write \" Selected\" %>>kategori1</option>
  <option value=\"kategori2\"<% If Kategori = \"kategori2\" Then response.Write \" Selected\" %>>kategori2</option>
  </select>

3:
som 1
Avatar billede soren_sejs Nybegynder
31. marts 2001 - 17:20 #2
Der er ikke nogen af dine forlslag der virker...
Avatar billede sth Novice
01. april 2001 - 10:49 #3
Uha det problem har jeg brugt meget tid på, og så kan det give problemer med hvis din db er dansk og hvis serverne køre engelsk !!

Smen jeg har brugt denne til at hente og vise en checkbox:

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"database.mdb\")

SQLstmt = \"SELECT * FROM fb_rap WHERE id = \" & Request(\"id\")

Conn.Execute (SQLstmt)

Set rs = conn.Execute(SQLstmt)
  %>
  <%
  id = rs(\"id\")

If RS(\"reklamation\") = \"Sand\" Then
Response.write \"<input type=\'checkbox\' name=\'reklamation\' value=\'Sand\' checked>\"
Else
Response.write \"<input type=\'checkbox\' name=\'reklamation\' value=\'Sand\'>\"
End if

    %>

    </tr>
    <tr>
    <td bgcolor=\"#000080\" width=\"9\"><img border=\"0\" src=\"1x1-trans.gif\" width=\"1\" height=\"1\"></td>
    <td width=\"128\" valign=\"top\" bgcolor=\"#000080\"><font size=\"2\" face=\"Arial\" color=\"#FFFFFF\"><b>Kvalitetsbrist</b></font></td>
      <td width=\"255\"\" valign=\"top\" bgcolor=\"#000080\">



Det er dog muligt at du skal udskifte \"sand\" med \"true\" men prøv det
Avatar billede soren_sejs Nybegynder
01. april 2001 - 11:04 #4
Får følgende fejl:

Microsoft OLE DB Provider for ODBC Drivers fejl \'80040e14\'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl, fordi der mangler en operator. i forespørgselsudtrykket \"id =\".

/test/test.asp, linje 16
Avatar billede sth Novice
01. april 2001 - 11:35 #5
Det er jo fordi at du skal rette sql-koden til så den passer til dit eget behov, altså noget med:
Uha det problem har jeg brugt meget tid på, og så kan det give problemer med hvis din db er dansk og hvis serverne køre engelsk !!

Smen jeg har brugt denne til at hente og vise en checkbox:

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"min_database.mdb\")

SQLstmt = \"SELECT * FROM min_tabel WHERE mit_felt_2 = \" & Request(\"mit_felt_2\")

Conn.Execute (SQLstmt)

Set rs = conn.Execute(SQLstmt)
  %>
  <%
  mit_felt = rs(\"mit_felt\")

If RS(\"mit_felt_2\") = \"Sand\" Then
Response.write \"<input type=\'checkbox\' name=\'reklamation\' value=\'Sand\' checked>\"
Else
Response.write \"<input type=\'checkbox\' name=\'reklamation\' value=\'Sand\'>\"
End if

    %>

    </tr>
    <tr>
    <td bgcolor=\"#000080\" width=\"9\"><img border=\"0\" src=\"1x1-trans.gif\" width=\"1\" height=\"1\"></td>
    <td width=\"128\" valign=\"top\" bgcolor=\"#000080\"><font size=\"2\" face=\"Arial\" color=\"#FFFFFF\"><b>Kvalitetsbrist</b></font></td>
      <td width=\"255\"\" valign=\"top\" bgcolor=\"#000080\">

Det er jo vigtig at du får koden rettet så den passer til dit behov, jeg ved jo ikke hvilke felter du bruger, og kan jo derfor ikke skrive de rigtige feltnavne.
Avatar billede soren_sejs Nybegynder
01. april 2001 - 11:40 #6
Det mener gjorde jeg også, men jeg kigger lige om jeg har glemt et sted...
Avatar billede soren_sejs Nybegynder
01. april 2001 - 13:26 #7
har nu rettet det, men det hjælper ikke..


Fejlmeddelse:
Der opstod en Microsoft VBScript-kørselsfejl fejl \'800a01a8\'

Et objekt er obligatorisk: \'\'

/test/test.asp, linje 12


I linje 12 står der:
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db1.mdb\")
Avatar billede sth Novice
01. april 2001 - 14:07 #8
prøv lige at vise mig din kode
Avatar billede soren_sejs Nybegynder
01. april 2001 - 14:29 #9
<html>

<head>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1252\">
<meta name=\"GENERATOR\" content=\"Microsoft FrontPage 4.0\">
<meta name=\"ProgId\" content=\"FrontPage.Editor.Document\">
<title>Kvalitetsbrist</title>
</head>

<body>
<%
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db1.mdb\")

SQLstmt = \"SELECT * FROM test WHERE id = \" & Request(\"id\")

Conn.Execute (SQLstmt)

Set rs = conn.Execute(SQLstmt)
  %>
  <%
  email = rs(\"email\")

If RS(\"email\") = \"Sand\" Then
Response.write \"<input type=\'checkbox\' name=\'reklamation\' value=\'Sand\' checked>\"
Else
Response.write \"<input type=\'checkbox\' name=\'reklamation\' value=\'Sand\'>\"
End if

    %>

<table>
    <tr>
    <td bgcolor=\"#000080\" width=\"9\"><img border=\"0\" src=\"1x1-trans.gif\" width=\"1\" height=\"1\"></td>
    <td width=\"128\" valign=\"top\" bgcolor=\"#000080\"><font size=\"2\" face=\"Arial\" color=\"#FFFFFF\"><b>Kvalitetsbrist</b></font></td>
      <td width=\"255\"\" valign=\"top\" bgcolor=\"#000080\">
     
     
&nbsp;
     
     
</body>

Avatar billede sth Novice
01. april 2001 - 15:08 #10
ok du manglede lige en line denne kode er afprøvet og den virker:
<%

\' DSNLess forbindelse til databasen
        Set Conn = Server.CreateObject(\"ADODB.Connection\")

Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db2.mdb\")

SQLstmt = \"SELECT * FROM test \"

Set rs = conn.Execute(SQLstmt)

  DO WHILE NOT rs.EOF

  email = rs(\"email\")
  navn = rs(\"navn\")


If RS(\"email\") = \"Sand\" Then
Response.write \"<input type=\'checkbox\' name=\'reklamation\' value=\'Sand\' checked>\"
Else
Response.write \"<input type=\'checkbox\' name=\'reklamation\' value=\'Sand\'>\"
End if
Response.write  navn
Response.write \"<BR>\"

        rs.MoveNext
      LOOP
      RS.Close
   
conn.Close
Set conn = nothing
Set SQLstmt = nothing


     
%>

databasen jeg har brugt ser sådan ud:
Tabel navn = test
felter:
ID = autonummerering
mail = ja/nej





Avatar billede soren_sejs Nybegynder
01. april 2001 - 15:40 #11
Ok det virker, hvis det er det samme med radio så mangler der kun lidt endnu....
Avatar billede soren_sejs Nybegynder
01. april 2001 - 17:07 #12
har prøvet med radio men det virkede ikke....
Avatar billede sth Novice
01. april 2001 - 19:08 #13
Radio har jeg ikke meget forstand på :-), men hvis du har brug for noget vedr. dropdown kan jeg evt hjælpe, jeg skal dog lige vide noget om di bata base, du kunne evt. sende den til mig, og jeg kunne da lave der ud fra, skriv evt til sth@halstat.dk
Avatar billede sth Novice
01. april 2001 - 19:10 #14
jeg sad lige og undrede mig over min egen kode, og det jeg sendt til dig var det muligt at rettte i checkbox feltet, nedenstående kode viser hvor det er muligt at rette og hvor det ikke er det




<%

\' DSNLess forbindelse til databasen
        Set Conn = Server.CreateObject(\"ADODB.Connection\")

Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"db2.mdb\")

SQLstmt = \"SELECT * FROM test \"

Set rs = conn.Execute(SQLstmt)

  DO WHILE NOT rs.EOF

  email = rs(\"email\")
  navn = rs(\"navn\")

Response.write \"Kan ændres&nbsp;&nbsp;\"
If RS(\"email\") = \"Sand\" Then
Response.write \"<input type=\'checkbox\' name=\'email\' value=\'Sand\' checked>\"
Else
Response.write \"<input type=\'checkbox\' name=\'email\' value=\'Sand\'>\"
End if



Response.write \"Kan ikke ændres&nbsp;&nbsp;&nbsp;\"
If rs(\"email\") = \"Sand\" then
Response.Write \"<input type=\'checkbox\' onClick=\'this.checked=true;\' checked>\"
Else
Response.Write \"<input type=\'checkbox\' onClick=\'this.checked=false;\'>\"
End If
Response.write  navn

Response.write \"<BR>\"


        rs.MoveNext
      LOOP
      RS.Close
   
conn.Close
Set conn = nothing
Set SQLstmt = nothing


%>
Avatar billede soren_sejs Nybegynder
01. april 2001 - 21:26 #15
Jeg har ikke lavet databasen endnu, da jeg ikke står og mangler det desparat lige nu, dog har jeg en anden database som er lidt stor, hvor jeg godt kunne bruge det, men du kan få oplysnigerne her:

Databasen hedder: spejder.mdb
Tabellen: forside_tekst
Felt navn: justering1

I dropdownboksen skal der være følgende:
Midt (Standard)
Venstre
Højre

Når jeg så på min side vil rette i det, skal den så vise den som er valgt i databasen lige nu.
Det må meget gerne være sådan, så hvis der i databasen står center, så vælger den Midt (Standard) som den hedder lige nu, i stedet for at der skal stå center
Avatar billede sth Novice
02. april 2001 - 00:28 #16
ok jeg har lavet noget der ligener, det du skal er at lave en tabel der inde holder
Midt (Standard)
Venstre
Højre
disse værdier skal så slås op i tabelen og sammen holdes med indholdet i den tabel du vil have vist,
jeg får ikke tid til at se på det før tirsdagaften.
men en hurtig koder jeg selv har brugt er :

Set Conn = Server.CreateObject(\"ADODB.Connection\")
Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"adresse.mdb\")
SQL1 = \"SELECT * FROM sponser\"
SQL2 = \"SELECT sponser FROM adresse WHERE ID = \" & Request.QueryString(\"id\") & \"\"

Set rs = Conn.Execute (SQL1)
Set rs2 = Conn.Execute (SQL2)


Response.Write \"<select name=\'sponser\' size=\'1\'>\"

Response.Write \"<option value=\'\" & RS2(\"sponser\") & \"\' SELECTED>\" & rs2(\"sponser\") & \"</Option>\"

Do While Not rs.EOF or rs.BOF

Response.Write \"<option value=\'\" & RS(\"sponser\") & \"\'>\" & rs(\"sponser\") & \"</Option>\"

rs.movenext
loop

Response.Write \"</select><br>\"
Avatar billede sth Novice
02. april 2001 - 00:30 #17
tabelen sponser er den tabel der skal indeholde dine valg og tabelen adresse så er den tabel der skal vises data fra.
Avatar billede sth Novice
04. april 2001 - 15:19 #18
hvaaaa har du testet noget eller .... er du gået helt kold ?
Avatar billede soren_sejs Nybegynder
04. april 2001 - 17:25 #19
Beklager tiden, men der har været drøn på i skolen, jeg regner med først med at kigge på det i weekenden
Avatar billede bms Nybegynder
04. april 2001 - 19:08 #20
Jeg kan ikke forstå det store arbejde... Mit svar (nr. 2) virker - har det på min egen side!

Mht. radioknapperne - så er det samme princip:
Her tjekkes i kolonnen \"Noget\" hvad value er (eksempelvis 1,2 el. 3). Den tilhørende radiobutton er \"checked\" - se kode:

<input type=\"radio\" name=\"NOGET\" value=\"1\" <% If RS(\"NOGET\")=1 Then Response.write \"checked\" End If%>>
<input type=\"radio\" name=\"NOGET\" value=\"2\" <% If RS(\"NOGET\")=2 Then Response.write \"checked\" End If%>>
<input type=\"radio\" name=\"NOGET\" value=\"3\" <% If RS(\"NOGET\")=3 Then Response.write \"checked\" End If%>>
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
Kurser inden for grundlæggende programmering

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