Avatar billede dtm Nybegynder
16. april 2002 - 09:07 Der er 49 kommentarer og
1 løsning

radioknapper...

Jeg her en side, hvor der en sql-sætning, som trække en bestemt kolonne ud fra min database....

Så har jeg en administration-side, hvor der er 6 radioknapper....Alt efter hvilken radioknap man vælger i administrationen, så skal sql-sætningen på min website ændres til at udskrive en anden kolonne.....???

Kan ikke få det til at virke...

DTM
Avatar billede lenn Nybegynder
16. april 2002 - 09:12 #1
Må jeg se lidt kode???
Avatar billede lenn Nybegynder
16. april 2002 - 09:22 #2
eller hvad...
Avatar billede dtm Nybegynder
16. april 2002 - 09:23 #3
jamen de koder jeg har, er ikke noget jeg kan få til at virke....tror ikke det er nogen hjælp... :-(
Avatar billede cape Nybegynder
16. april 2002 - 09:24 #4
jo det gør.

Vi har jo ingen mulighed for at hjælpe dig med en fejl når vi ikke aner hvilken fejl det er ????
Avatar billede lenn Nybegynder
16. april 2002 - 09:25 #5
- det er bare svært at se, sammenhængen og svart at lave noget kode der kunne virke, uden at se hvad du har i forvejen :-)
Avatar billede dtm Nybegynder
16. april 2002 - 09:30 #6
ok, jeg kigger lige på det.... :-)
Avatar billede eagleeye Praktikant
16. april 2002 - 09:33 #7
du kan lave en radio sådan her hvor value = navnet på den kolonne som skal udskrives:

<input type="radio" name="feltiDB" value="felt1" SELECTED>
<input type="radio" name="feltiDB" value="felt2">
<input type="radio" name="feltiDB" value="felt3">
<input type="radio" name="feltiDB" value="felt4">


også på den anden sidemmed SQL'en

strSQL="SELECT " & request.form("feltiDB") & " FROM tabel"
ser rs = connection.executte(strSQL)

response.write "Data fra kolonne " & request.form("feltiDB") & "<br>"
do while not rs.EOF
  response.witre rs(0) & "<br>"
  rs.movenext
loop
Avatar billede dtm Nybegynder
16. april 2002 - 09:36 #8
Dette er min kode:

<%
    If Request.QueryString("gem") = "" Then
%>
<form action="<%= Request.ServerVariables("SCRIPT_NAME")%>?gem=nu" method="post">

<table cellpadding="10" cellspacing="0" width="300">
<tr>
<td colspan="3" height="20"><b>Trin 2</b></td>
</tr>

<tr>
<td height="75"><img src="image/d1.jpg"></td>
<td><img src="image/d2.jpg"></td>
<td><img src="image/d3.jpg"></td>
</tr>

<tr>
<td><input type="radio" name="1" value="radiobutton"> Design 01</td>
<td><input type="radio" name="2" value="radiobutton"> Design 02</td>
<td><input type="radio" name="3" value="radiobutton"> Design 03</td>
</tr>

<tr>
<td colspan="3" height="20"></td>
</tr>

<tr>
<td height="75"><img src="image/d4.jpg"></td>
<td><img src="image/d5.jpg"></td>
<td><img src="image/d6.jpg"></td>
</tr>

<tr>
<td><input type="radio" name="4" value="radiobutton"> Design 04</td>
<td><input type="radio" name="5" value="radiobutton"> Design 05</td>
<td><input type="radio" name="6" value="radiobutton"> Design 06</td>
</tr>

</table>
</form>

<%
    End If
%>

<%
    If Request.QueryString("gem") = "nu" Then
        Set rs = Server.CreateObject("ADODB.Recordset")
        Set Conn = Server.CreateObject("ADODB.Connection")
            Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("mdb/db.mdb")
            SQL = "SELECT * FROM style"
           
            rs.Open SQL, Conn, 1, 2, 3, 4, 5, 6
            If Request.Form("1") <> "" Then
                rs("design_01")  = Request.Form("1")
            End If
            If Request.Form("2") <> "" Then
                rs("design_02")  = Request.Form("2")
            End If
            If Request.Form("3") <> "" Then
                rs("design_03")  = Request.Form("3")
            End If
            If Request.Form("4") <> "" Then
                rs("design_04")  = Request.Form("4")
            End If
            If Request.Form("5") <> "" Then
                rs("design_05")  = Request.Form("5")
            End If
            If Request.Form("6") <> "" Then
                rs("design_06")  = Request.Form("6")
            End If
    End If
%>


Det virker ihverfald ikke.... :-(
Avatar billede eagleeye Praktikant
16. april 2002 - 09:36 #9
hmm det skal være resposne.write ikke witre i loopet...:
  response.write rs(0) & "<br>"

Håber du kan se ideen i det.
Avatar billede lenn Nybegynder
16. april 2002 - 09:40 #10
--Eagleeye
Det hedder ikke:
ser rs = connection.executte(strSQL)

Men:
ser rs = connection.execute(strSQL)
Avatar billede eagleeye Praktikant
16. april 2002 - 09:40 #11
radio buttens skal havde samme name.. så det valuen du skalændre ned gennem koden. Valuen ville jeg sætte til enten kolonne navnet eller en simpel numemr række 1,2,3,4,5 osv og så i asp kode lavet tallet (1,2,3) om til et tabel navn.

Hvis du kun skal udskrive den kolonne som er valgt via radiobutton + nogle andre vil jeg gære som jeg skrev før:

strSQL="SELECT " & request.form("feltiDB") & ", ANDET_FELT FROM tabel"
ser rs = connection.executte(strSQL)

response.write "Data fra kolonne " & request.form("feltiDB") & " + ANDET_FELT:<br>"
do while not rs.EOF
  response.witre rs(0) & "  :  " & rs("ANDET_FELT") & "<br>"
  rs.movenext
loop
><input type="radio" name="radiobutton" value="3">
Avatar billede lenn Nybegynder
16. april 2002 - 09:42 #12
set rs = connection.execute(strSQL)
Avatar billede eagleeye Praktikant
16. april 2002 - 09:43 #13
lenn>> Ja der er et par små stave fejl i det :) Det var også mere et eks på en  metoden end copy-paste kode det første jeg viste.  Men jeg håber det går.
Avatar billede eagleeye Praktikant
16. april 2002 - 09:44 #14
lenn>> hehe så sopy-pastede jeg mig selv og lavede samme fejl med to t'er i execute :)
Avatar billede lenn Nybegynder
16. april 2002 - 09:45 #15
- Det var bare hvis nu at dtm ville bruge copy-paste, så ville det jo være irriterende at det ikke virkede :-)
Avatar billede dtm Nybegynder
16. april 2002 - 10:01 #16
damn.....jeg er da forvirret :-)....

DTM
Avatar billede dtm Nybegynder
16. april 2002 - 10:11 #17
øhhh hvad skal der står i <form action="???" method="???" name="???"></form>  ? ? ?
DTM
Avatar billede lenn Nybegynder
16. april 2002 - 10:18 #18
<form action="sammeside.asp" method="POST" name="Form"></form>
Avatar billede lenn Nybegynder
16. april 2002 - 10:18 #19
<form action="sammeside.asp" method="POST" name="Form"></form>
Avatar billede dtm Nybegynder
16. april 2002 - 10:20 #20
okay, men hvordan for den "forbindelse med sql-sætningen på min website??... altså der hvor det skal udskrives??

DTM
Avatar billede lenn Nybegynder
16. april 2002 - 10:27 #21
strSQL = "Select * From style WHERE id = " & Request.Form("id")
ser rs = connection.execute(strSQL)

.. du skal lige ændre id og Request.Form("id") så de passer til din form...
Avatar billede dtm Nybegynder
16. april 2002 - 10:35 #22
Her er siden, hvor det bliver vist:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%
DIM rs

' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
' Åben databaseforbindelsen
Conn.Open DSN

strSQL="SELECT " & request.form("feltiDB") & " FROM style "
set rs = conn.execute(strSQL)
%>

<%
response.write "Data fra kolonne " & request.form("feltiDB") & "<br>"
do while not rs.EOF
  response.witre rs(0) & "<br>"
  rs.movenext
loop
%>

</body>
</html>

------------------------------------------
Her er siden med admin på:

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">

<form action="admin.asp" method="POST" name="Form">


<table cellpadding="10" cellspacing="0" width="300">
<tr>
<td colspan="3" height="20"><b>Trin 2</b></td>
</tr>

<tr>
<td height="75"><img src="image/d1.jpg"></td>
<td><img src="image/d2.jpg"></td>
<td><img src="image/d3.jpg"></td>
</tr>

<tr>
<td><input type="radio" name="feltiDB" value="design_01" SELECTED> Design 01</td>
<td><input type="radio" name="feltiDB" value="design_02"> Design 02</td>
<td><input type="radio" name="feltiDB" value="design_03"> Design 03</td>
</tr>

<tr>
<td colspan="3" height="20"></td>
</tr>

<tr>
<td height="75"><img src="image/d4.jpg"></td>
<td><img src="image/d5.jpg"></td>
<td><img src="image/d6.jpg"></td>
</tr>

<tr>
<td><input type="radio" name="feltiDB" value="design_04"> Design 04</td>
<td><input type="radio" name="feltiDB" value="design_05"> Design 05</td>
<td><input type="radio" name="feltiDB" value="design_06"> Design 06</td>
</tr>



</table>

</form>

</body>
</html>


Hvad sker der??

DTM
Avatar billede dtm Nybegynder
16. april 2002 - 10:36 #23
selvfølgelig witre = write *lol*

DTM
Avatar billede eagleeye Praktikant
16. april 2002 - 10:37 #24
din action skal linke/henvise til siden som udskriver kolonnen fra databasen, altså den første fil du viste i sidste indlæg:

<form action="sideSomUdskriverFraDb.asp" method="POST" name="Form">
Avatar billede dtm Nybegynder
16. april 2002 - 10:39 #25
der sker ingenting alligevel....
Avatar billede eagleeye Praktikant
16. april 2002 - 10:41 #26
får du en tom side eller ??  såvidt jeg kan se mangler du en submit knap..

<td><input type="radio" name="feltiDB" value="design_06"> Design 06</td>
</tr>



</table>
<input type="submit" name="vis" value="vis">

</form>
Avatar billede eagleeye Praktikant
16. april 2002 - 10:43 #27
eller måske set submit ind i tabellen:

får du en tom side eller ??  såvidt jeg kan se mangler du en submit knap..

<td><input type="radio" name="feltiDB" value="design_06"> Design 06</td>
</tr>


<tr><td><input type="submit" name="vis" value="vis">
</td></tr>
</table>

</form>


Når du trykker på Vis kanppen (submit) så skulle browseren gerne åben den fil du har angivet i action="filnanv" i <FORM> tagen.
Avatar billede dtm Nybegynder
16. april 2002 - 10:47 #28
ja, den har jeg også sat på nu *lol*....

Så virker det til dels.....den uskriver bare navnet på kolonnen?? hvordan kan det være? og ikke resten??....ja den skulle jo egentlig ikke udskrive navnet på kolonnen....

DTM
Avatar billede eagleeye Praktikant
16. april 2002 - 10:51 #29
det kommer af denne:  response.write "Data fra kolonne " & request.form

Her skulle den udskrive data fra kolonne, kan det tænkes der ikke er data i databasen prøv evt dette:

if NOT rs.EOF then
  do while not rs.EOF
    response.write rs(0) & "<br>"
    rs.movenext
  loop
else
  Resposne.write "Ingen Data"
end if
Avatar billede eagleeye Praktikant
16. april 2002 - 10:51 #30
if NOT rs.EOF then
  do while not rs.EOF
    response.write rs(0) & "<br>"
    rs.movenext
  loop
else
  response.write "Ingen Data"
end if
Avatar billede dtm Nybegynder
16. april 2002 - 10:54 #31
der sker intet.....men hvad er "0" i response.write rs (0) ???

DTM
Avatar billede dtm Nybegynder
16. april 2002 - 10:59 #32
nu virker det.... :-)
Avatar billede eagleeye Praktikant
16. april 2002 - 10:59 #33
0 skulle angive første kolonne i recordsetet.. du kan også prøve:

Sker der intet eller skriver den noget???



<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<%
DIM rs

' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
' Åben databaseforbindelsen
Conn.Open DSN

strSQL="SELECT " & request.form("feltiDB") & " FROM style "
set rs = conn.execute(strSQL)
%>

<%
response.write "Data fra kolonne " & request.form("feltiDB") & "<br>"
if NOT rs.EOF then
  do while not rs.EOF
    response.witre rs("" & request.form("feltiDB")) & "<br>"
    rs.movenext
  loop
else
  Response.write "Ingen Data"
end if

conn.close
%>

</body>
</html>
Avatar billede eagleeye Praktikant
16. april 2002 - 11:04 #34
ikke igen danm: witre ... copy-paste fejl... undskyld det skal være write:

response.write rs("" & request.form("feltiDB")) & "<br>"
Avatar billede dtm Nybegynder
16. april 2002 - 11:07 #35
lige et spørgsmål mere......

Kan jeg ikke få det til at udskrive kun det er der er i kolonnen, og ikke overskriften på kolonnen....?

DTM
Avatar billede eagleeye Praktikant
16. april 2002 - 11:12 #36
ja du fjerne bare denne linie:

response.write "Data fra kolonne " & request.form("feltiDB") & "<br>"
Avatar billede dtm Nybegynder
16. april 2002 - 11:24 #37
Du kan se det her:

http://www.dlaursen.dk/design/admin.asp

Det er til at vælge design på websitet, problemet er at den ikke husker det til næste gang man går ind på siden. Som det er nu skal man starte ud fra admin.asp ??.....kan det ikke laves??

DTM
Avatar billede eagleeye Praktikant
16. april 2002 - 11:28 #38
ja.. Har du en kolonne i databasen hvor du gemmer oplysninger, omkring oppsætning??

Du kan gære noget i stil med dette for at gemme det:

strSQL="INSER INTO tabel (designConfig) VALUES ('&request.form("feltiDB")&"');"
conn.execute(strSQL)
Avatar billede dtm Nybegynder
16. april 2002 - 11:30 #39
kan du forklare lidt mere?...
Avatar billede dtm Nybegynder
16. april 2002 - 11:33 #40
Du vil have at jeg skal egentlig skal lave en kolonne mere, som bliver udskret på websitet, men alt efter hvilken radio, man har valgt, så gemmer den det i den kolonne??
Avatar billede eagleeye Praktikant
16. april 2002 - 11:34 #41
på den side hvor man vælger skal du så lave en en SQL som hendter opsætningen for designet...

strSQL = "SELECT designConfig FROM tabel;"
set rs = conn.execute(strSQL)

og for hver radio kanp skal du såtjekke om den er valgt som default opsætning...


<input type="radio" name="feltiDB" value="design_06"
<% if rs("designConfig") = "design_06" then
  response.write " selected"
end if %>
>        <--- den sidste > er den som hre til <input...
Avatar billede eagleeye Praktikant
16. april 2002 - 11:35 #42
Er der mange brugere eller kun EN bruger?? for så skal du nok havde et bruger navn flettet ind i det hele.
Avatar billede dtm Nybegynder
16. april 2002 - 11:39 #43
jeg kan til dels følge dig, men er ikke helt med... :-)

DTM
Avatar billede dtm Nybegynder
16. april 2002 - 11:39 #44
Bruger?? hvad nu, hvad tænker du på?
Avatar billede dtm Nybegynder
16. april 2002 - 11:49 #45
Nu har jeg ændret alle radioknapper......Lavet en kolonne i db'en som hedder designConfig ... hvad så?

DTM
Avatar billede dtm Nybegynder
16. april 2002 - 11:51 #46
Nu ser min admin.asp sådan ud:

<%
DIM rs

' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
' Åben databaseforbindelsen
Conn.Open DSN

strSQL = "SELECT designConfig FROM style;"
set rs = conn.execute(strSQL)
%>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">

<form action="default.asp" method="POST" name="Form">


<table cellpadding="10" cellspacing="0" width="300">
<tr>
<td colspan="3" height="20"><b>Trin 2</b></td>
</tr>

<tr>
<td height="75"><img src="image/d1.jpg"></td>
<td><img src="image/d2.jpg"></td>
<td><img src="image/d3.jpg"></td>
</tr>

<tr>
<td><input type="radio" name="feltiDB" value="design_01"
<% if rs("designConfig") = "design_01" then
  response.write " selected"
end if %>
> Design 01</td>
<td><input type="radio" name="feltiDB" value="design_02"
<% if rs("designConfig") = "design_02" then
  response.write " selected"
end if %>
> Design 02</td>
<td><input type="radio" name="feltiDB" value="design_03"
<% if rs("designConfig") = "design_03" then
  response.write " selected"
end if %>
> Design 03</td>
</tr>

<tr>
<td colspan="3" height="20"></td>
</tr>

<tr>
<td height="75"><img src="image/d4.jpg"></td>
<td><img src="image/d5.jpg"></td>
<td><img src="image/d6.jpg"></td>
</tr>

<tr>
<td><input type="radio" name="feltiDB" value="design_04"
<% if rs("designConfig") = "design_04" then
  response.write " selected"
end if %>
> Design 04</td>
<td><input type="radio" name="feltiDB" value="design_05"
<% if rs("designConfig") = "design_05" then
  response.write " selected"
end if %>
> Design 05</td>
<td><input type="radio" name="feltiDB" value="design_06"
<% if rs("designConfig") = "design_06" then
  response.write " selected"
end if %>
> Design 06</td>
</tr>

<tr>
<td colspan="3" height="20"><input type="submit" name="enter" value="send"></td>
</tr>


</table>

</form>

</body>
</html>
Avatar billede eagleeye Praktikant
16. april 2002 - 11:55 #47
Er der kun en som kan vælge desig? eller er der mange foskellige side/brugere som kan vælge design. Du skal nok lave en ny tabel i databasen som indeholder kolonnen configDesign...

tabel: designSetup
kolonne: ConfigDesign

denne tabel vil så kun indeholde En record med design configrationen.
Avatar billede dtm Nybegynder
16. april 2002 - 12:26 #48
Indtil videre er det jo kun en test, som senere vil der komme en adgangs kode....

Jeg laver en ny tabel.....og så skal udtrækket på websitet være fra den kolonne i den nye tabel ikke??

DTM
Avatar billede eagleeye Praktikant
16. april 2002 - 12:31 #49
Du er nok nød til at lave en kolonne mere:

tabel: designSetup
kolonne: ConfigDesign : tekst
kolonne: username : tekst

lig dette ind som default; design_03 : admin

i den kode som viser kolonne somer valgt:

<%
DIM rs

' ADODB connection objektet
Set Conn = Server.CreateObject("ADODB.Connection")
' Husk at angive den rigtige sti til din database
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db.mdb")
' Åben databaseforbindelsen
Conn.Open DSN

strSQL="SELECT " & request.form("feltiDB") & " FROM style "
set rs = conn.execute(strSQL)
%>

<%
if NOT rs.EOF then
  do while not rs.EOF
    response.witre rs("" & request.form("feltiDB")) & "<br>"
    rs.movenext
  loop
else
  Response.write "Ingen Data"
end if

strSQL="UPDATE designSeteu SET designConfig='"& request.form("feltiDB") & "' WHERE username='admin'"
conn.execute(strSQL)

conn.close
%>
Avatar billede eagleeye Praktikant
21. september 2002 - 23:57 #50
Virker det eller ???
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