Avatar billede greenday Nybegynder
30. juni 2004 - 22:20 Der er 9 kommentarer og
1 løsning

Form med mange input.

Hej
Jeg laver denne lykke hvor jeg propper d jeg har i den database i en tabel med input felterne. En kolonne med input har samme navn.

Kode :
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr bgcolor="#666666">
    <td align="center"><strong>ID</strong></td>
    <td align="center"><strong>Label</strong></td>
    <td align="center"><strong>Link</strong></td>
    <td align="center"><strong>Target</strong></td>
    <td align="center"><strong>MouseOver</strong></td>
    <td width="18%" align="center"><strong>Admin</strong></td>
    <td width="18%" align="center"><strong>Synlig</strong></td>
    <td width="30%" align="center"><strong>Not Synlig Login</strong></td>
  </tr>
<form name="Ret_Menu" action="Ret_Menu.asp" method="post">
<%Do%>
  <tr bgcolor="#<%If (rs("Id") MOD 2) <> 0 Then Response.Write "999999" Else Response.Write "CCCCCC" End If%>">
    <td><input readonly="true" style="background-color:#<%If (rs("Id") MOD 2) <> 0 Then Response.Write "999999" Else Response.Write "CCCCCC" End If%>" size="2" type="Tal" name="Id" value="<%=rs("ID")%>"></td>
    <td><input type="Text" name="Label" value="<%=rs("Label")%>"></td>
    <td><input size="25" type="Text" name="Link" value="<%=rs("Link")%>"></td>
    <td><input size="11" type="Text" name="Target" value="<%=rs("Target")%>"></td>
    <td><input type="Text" name="MouseOver" value="<%=rs("MouseOver")%>"></td>
    <td align="center"><input type="checkbox" name="Admin" <%If rs("Admin") Then Response.Write "CHECKED"%>></td>
    <td align="center"><input type="checkbox" name="Synlig" <%If rs("Synlig") Then Response.Write "CHECKED"%>></td>
    <td align="center"><input type="checkbox" name="Not_Synlig_Login" <%If rs("Not_Synlig_Login") Then Response.Write "CHECKED"%>></td>
  </tr>   
<% rs.MoveNext
Loop While Not rs.EOF
End If%>
</table>
<input type="submit" name="sendt" value="Gem">
</form>

Spørgsmålet r så hvordan for jeg så fat i hvert enkelt input-felt og gemme d i databasen igen ??
Avatar billede mikkel_strack Nybegynder
01. juli 2004 - 02:11 #1
Så skal du igang med et tilsvarende loop på ret_menu.asp som genererer din sql.

Tror dog du skulle overveje, om der ikke findes en lidt mere håndgribelig løsning på din måde at rette, hvad jeg sån lige umiddelbart kan forstå er en menu.

Mikkel
Avatar billede greenday Nybegynder
01. juli 2004 - 09:21 #2
Mit problem r at jeg skal kunne rette alt der står i en tabel i en Access database, r der nogen der kender en "nem" mulighed for d ??
Avatar billede greenday Nybegynder
01. juli 2004 - 11:07 #3
Ellers hvordan få jeg fat i de forskellige input-felter, når jeg har trykket på Gem.
En hel kolonne af input-felter har jo samme navn, så hvordan fanger man en bestemt en, og man ved hvad d r for en ??
Avatar billede keysersoze Ekspert
01. juli 2004 - 12:07 #4
ud fra ovenstående - kan det set passw at du får flere felter med label, link, target etc? i så fald syntes jeg du skal lave det på en anden måde, for det vil ikke kunne komme til at fungere når du har flere formfelter der hedder præcis det samme
Avatar billede greenday Nybegynder
01. juli 2004 - 12:34 #5
Hej Keysersoze !

D r også sådan noget jeg r kommet frem til, men jeg kan ik lige komme på nogle ideer til hvordan jeg ellers kan lave d ;(
Siden kan ses på : http://www.woeldike.net/work/ret_menu.asp

Har Du nogle ideer til hvordan jeg kan bygge d op ellers ??

Senere skal jeg også lave d til denne side : http://www.woeldike.net/work/hold.htm
Håber Du eller en anden kan hjælpe mig ;)
På forhånd tak
Avatar billede keysersoze Ekspert
01. juli 2004 - 12:56 #6
du kunne fx sætte id-nummeret fra posten efter formfeltnavnet så det hed label7, label9, label 13 etc

når du så gemmer skal du lave et tilsvarende loop som i din ret_menu.asp men bare hvor du updater i stedet for at udskrive.
Avatar billede greenday Nybegynder
01. juli 2004 - 13:17 #7
Takker, den havde jeg ik lige tænkt på, har fået skyggelapper på *Griner*

Smid lige et svar, så jeg kan give dig lidt ;)
Avatar billede keysersoze Ekspert
01. juli 2004 - 13:33 #8
svar
Avatar billede mikkel_strack Nybegynder
01. juli 2004 - 14:18 #9
retMenu.asp

<html>
<head>
<title>Photo</title>
<link rel="stylesheet" href="style/mainstyle.css" type="text/css">
</head>
<body>
<%

dim conn

function OpenConn( DBName )

Set Conn = Server.CreateObject("ADODB.Connection")
ODBCpath = left(request.servervariables("PATH_TRANSLATED"), instrrev(request.servervariables("PATH_TRANSLATED"), "\"))
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ODBCpath & DBName

end function

OpenConn("elray.mdb")

' SQL forespørgsel
strSQL = "Select * from fotoCategory Order By ID desc"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, Conn, 1

Top = rs.RecordCount
MyArr = rs.GetRows()

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>

<form method="post" action="retMenuExe.asp">
<%
for i=0 to Top-1
Response.Write "<input type=text size=30 name=kolonne" & MyArr(0,i) & " value=""" & MyArr(1,i) & """><br>"
Next
%>
<input type="submit" value="Submit">

</body>
</html>

******************************

retMenuExe.asp

<html>
<head>

</head>
<body>
<%
dim conn

function OpenConn( DBName )

Set Conn = Server.CreateObject("ADODB.Connection")
ODBCpath = left(request.servervariables("PATH_TRANSLATED"), instrrev(request.servervariables("PATH_TRANSLATED"), "\"))
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ODBCpath & DBName

end function

OpenConn("elray.mdb")

' SQL forespørgsel
strSQL = "Select * from fotoCategory Order By ID desc"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open strSQL, Conn, 1

Top = rs.RecordCount
MyArr = rs.GetRows()

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

''''''''''''''''''''
function OpenConn( DBName )

Set Conn = Server.CreateObject("ADODB.Connection")
ODBCpath = left(request.servervariables("PATH_TRANSLATED"), instrrev(request.servervariables("PATH_TRANSLATED"), "\"))
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ODBCpath & DBName

end function

OpenConn("elray.mdb")


' SQL sætning opbygges

for i=0 to Top-1
kolonneNavn = "kolonne" & MyArr(0,i)
kolonneNavn1 = Request.Form(kolonneNavn)
'Response.Write kolonneNavn1
strSQL = "update fotoCategory set mainCategory = '"& kolonneNavn1 &"' Where ID = " & MyArr(0,i) &""


' SQL sætning eksekveres
Conn.Execute(strSQL)
Next

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing


Response.Redirect "retMenu.asp"
%>

</body>
</html>

Mikkel
Avatar billede mikkel_strack Nybegynder
01. juli 2004 - 14:21 #10
Ovenstående er for en simpel tabel med kun et 'ID' og et tekstfelt 'fotoCategory'
Kan udvides til så mange som det skal være..

Mikkel
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