crisse6Medlem sedan dec. 20002 526 inlägg Hej!
Har nu suttit har ett tag och far inte ordning pa varfor min kara kod inte uppdaterar som jag vill genom querystring (kolla kommentarerna i koden):
[red]
'### Om querystring ar edit sa ska vi andra
If request.querystring("vad") = "edit" then
sql = "select * from Banners where BannerID = "& request.querystring("id") &""
set rs = objConn.Execute(sql)
response.write "<form name=""edit"" method=""post"" action=""modda.asp?uppdatera=yes&id="& rs("BannerID") &""">" &_
"URL NU: "& request.querystring("adress") &"<br>Edit to:<br><input type=""text"" name=""kuk""><br>" &_
"IMG:<br><input type=""text"" name=""img"" value="""& request.querystring("img") &"""><br>" &_
"<input type=""Submit"" value=""Skicka"">" &_
"</form>"
'### Om request.form("kuk") inte ar tomt sa ske uppdatering...
If not request.form("kuk") = "" then
sql2 = "update Banners SET BannerURL = '" & request.form("kuk") & "' Where BannerID = " & request.querystring("id") & ""
objConn.Execute sql2,,128
@ndersMedlem sedan juni 200032 969 inlägg Jag kan iofs inte se om det spelar någon roll, men...
...action=""modda.asp?uppdatera=yes&id="& request.querystring("id") &"" ...
Det skulle vara kul om du bytte namn på ditt textfält också. Vårda ditt språk, unge man!
- - - -
På vilket sätt fungerar det inte?
crisse6Medlem sedan dec. 20002 526 inlägg @nders, vad menar du med koden?
Textfaltet har haft namnen url, adress men nar jag igar hade suttit med skriptet x antal timmar sa blev en person lite smaarg och dopte textfaltet till nagot fult :e :e
[r]
Psst... Inga felmess, men den uppdaterar inte liksom, det ar problemet ;)
[/r]
Vill du se hela koden for sidan??? Ah, postar den har:
<html>
<head>
<title>Banner rotation Admin</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<font face="Verdana" size="2">
<%
Dim objConn
Dim sql
Dim rs
'### Databaskoppling
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & server.mappath("/horjavel/db/banners.mdb")
If request.querystring("vad") = "" then
sql = "select * from Banners"
set rs = objConn.Execute(sql)
If rs.eof then
response.write "Inga banners i databasen!"
'### ...annars
else
'### Startar en loop tills det ar tomt
Do until rs.Eof
'### Gor sa att det blir 2 olika farger i tabellen
if bgcolor = "#EFEFEF" then
bgcolor = "#FFFFFF"
else
bgcolor = "#EFEFEF"
end if
'### Skriver ut tabell...
response.write "<table bgcolor="""&bgcolor&"""><tr><td>"& rs("BannerURL") &"</td>" &_
"<td><a href=""modda.asp?vad=edit&id="& rs("BannerID") &"&adress="& rs("BannerURL") &"&img="& rs("img") &""">Edit</a></td>" &_
"<td><a href=""modda.asp?vad=delete&id="& rs("BannerID") &""">Delete</a></td></tr></table>"
rs.movenext
loop
End if
rs.close
set rs = Nothing
End if
If request.querystring("vad") = "delete" then
sql = "delete from Banners where BannerID = " & request.querystring("id") & ""
objConn.Execute sql,,128
response.redirect "modda.asp"
End if
'### Om querystring ar edit sa ska vi andra
If request.querystring("vad") = "edit" then
sql = "select * from Banners where BannerID = "& request.querystring("id") &""
set rs = objConn.Execute(sql)
response.write "<form name=""edit"" method=""post"" action=""modda.asp?uppdatera=yes&id="& rs("BannerID") &""">" &_
"URL NU: "& request.querystring("adress") &"<br>Edit to:<br><input type=""text"" name=""kuk""><br>" &_
"IMG:<br><input type=""text"" name=""img"" value="""& request.querystring("img") &"""><br>" &_
"<input type=""Submit"" value=""Skicka"">" &_
"<input type=""hidden"" name=""id"" value="""& rs("BannerID") &"""></form>"
If not request.form("kuk") = "" then
sql2 = "update Banners SET BannerURL = '" & request.form("kuk") & "' Where BannerID = " & request.querystring("id") & ""
objConn.Execute sql2,,128
End if
End if
objConn.close
Set objConn = Nothing
%>
</font>
</body>
</html>
@ndersMedlem sedan juni 200032 969 inlägg I den lilla kodsnutt jag postade bytte jag bort recordset-referensen i formulärets action mot värdet som kom i querystring.
I övrigt, när du kommer fram, vilken url kommer du fram till då? finns värdet med i querystring? (Kolla genom att högerklicka i webbläsaren och välj properties)
Annars kan du alltid prova att lägga id i ett hiddenfält i formuläret så länge.
mvh,
crisse6Medlem sedan dec. 20002 526 inlägg det loste sig (ska posta kod senare, hinner ej nu)
men nu har jag ett annat problem i samma kod fast jag har lagt till om querystringen ar "new" sa ska inserts gora, men bara om falten innehaller nat... ta en titt pa denna kod:
If request.querystring("vad") = "new" then
response.write "<font face=""Verdana"" size=""1""><form name=""new"" method=""post"" action=""modda.asp?vad=new"">" &_
"URL till hemsidan:<br>" &_
"<input type=""text"" name=""adress"">" &_
"<br>IMG adress:<br>" &_
"<input type=""text"" name=""bild""><br>" &_
"<input type=""submit"" value=""Add now"">" &_
"</form></font>"
If not request.form("adress") = "" OR request.form("bild") = "" then
sql = "insert into Banners (BannerURL, img) VALUES ('" & request.form("adress") &"', '" & request.form("bild") & "')"
objConn.Execute sql,,128
response.write sql
End if
End if
[/red]
far felmess:
Microsoft JET Database Engine error '80004005'
Field 'Banners.BannerURL' cannot be a zero-length string.
/horjavel/modda.asp, line 64
rad 64 (eller 63, dvs sql satsen):
sql = "insert into Banners (BannerURL, img) VALUES ('" & request.form("adress") &"', '" & request.form("bild") & "')"
Jesper TMedlem sedan nov. 20017 144 inlägg Du har väl döpt adressfältet fel eller något. Skriv ut sqlsatsatsen.
response.write sql
OveRRidEMedlem sedan feb. 200112 078 inlägg Felmeddelandet talar ju helt för sig självt. Kolumnen BannersURL i tabellen Banners får inte vara NULL (inget), precis så som din databas är konfigurerad.
crisse6Medlem sedan dec. 20002 526 inlägg du menar att om jag bara andrar det till att tillata Null sa funkar det eller? Men jag vill inte att nagon tom data ska foras in!!
@ndersMedlem sedan juni 200032 969 inlägg
crisse6 skrev:
du menar att om jag bara andrar det till att tillata Null sa funkar det eller? Men jag vill inte att nagon tom data ska foras in!!
Varför har du satt ett eller-villkor i if-satsen? Ändra till och.
Mvh,
crisse6Medlem sedan dec. 20002 526 inlägg Allt funkar nu, slutkoden blev:
[red]
If request.querystring("vad") = "new" then
If request.form("adress") = "" OR request.form("bild") = "" then
response.write "<font face=""Verdana"" size=""1""><form name=""new"" method=""post"" action=""modda.asp?vad=new"">" &_
"URL till hemsidan:<br>" &_
"<input type=""text"" name=""adress"">" &_
"<br>IMG adress:<br>" &_
"<input type=""text"" name=""bild""><br>" &_
"<input type=""submit"" value=""Add now"">" &_
"</form></font>"
else
sql = "insert into Banners (BannerURL, img, BannerViews) VALUES ('" & request.form("adress") &"', '" & request.form("bild") & "', '1')"
objConn.Execute sql,,128
End if
End if
%>