webForumDet fria alternativet

Ser inget i förvirringen form/querysting

ASP

6 svar · 186 visningar · startad av SannyW

Medlem sedan jan. 2003438 inlägg
Frågan#1

Litet problem, världen står still och min hjärna vill inte fungera :q

Så här ser min default och update sida ut:

Huvudsidan som jag med plus och minus kan ta bort -1 eller lägga till +2

<td><a href="update.asp?ID=<% =RecSet("id") %>&kolumn=test&value=-1"><img src="_.gif" border="0"></A></td>
<td align="center"><% =RecSet("test") %></td>
<td><a href="update.asp?ID=<% =RecSet("id") %>&kolumn=test&value=--1"><img src="+.gif" border="="></A></td>

Skickas till update-sidan som skickar in request i databasen efter skickad information.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Kolumn = Request.Querystring("kolumn")
value = Request.Querystring("value")
SQL = "UPDATE spelare SET " & kolumn &" = " & kolumn & value & " WHERE ID = "& Request.Querystring("ID")

Response.write(SQL)
' Conn.Execute(SQL)

Conn.Close
'Response.Redirect "default.asp" 

%>

Vad jag vill göra är att utnyttja updatesidan för att föra in informationen som jag önskar skicka från en <input>, men hittar inte riktigt tråden och ser inte lösningen med action. Är det möjligt att skicka input till action typ som jag skriver nedan:

<form action="update.asp?ID=<% =RecSet("id") %>&kolumn=test&value= <INPUT=det som är ifyllt i rutan> " method="post">
  
     
      <td align="left" valign="middle"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input type="text" name="test" size="2">
        </font></td>
    
      <td width="50" align="left" valign="middle"> <font size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
        <input type="submit" value="x">
        </font></td>
      <td align="left" valign="middle">&nbsp;</td>
 
</form>

Fan jag tror nog att jag precis rörde till det, för det ovan med form är helt åt helvete. Nä fan, mental blockering.

Om någon har tid och lust så får ni gärna komma med synpunkter eller sunda ideér. För här står det still.

Tack på förhand.

Medlem sedan mars 20015 287 inlägg
#2

Varför inte skippa dina querystrings och lägga RecSet("id") mfl i hiddenfields?

Medlem sedan jan. 2003438 inlägg
#3

Ja, varför inte. :) Nja, kanske för att jag inte riktigt förstår vad du menar. Eller vet vad just hiddenfields innebär och vad jag kan dra för nytta med det. Du får gärna förklara lite kort eller hänvisa mig till någon sida där man kan läsa om det.

Så att jag kan förstå den röda tråden i det som du talar om.

Medlem sedan mars 20015 287 inlägg
#4

Jao... men... om du nu ska posta justdet där formuläret och det inte har med den första kodsnutten att göra så är det väl bara på din mottagande sida ta hand om värdet med:

value = Request("value")

Samt i din form döpa om fältet till:

<input type="text" name="value" size="2">

Samt formtaggen:

<form action="update.asp?ID=<% =RecSet("id") %>&kolumn=test"> method="post">

Medlem sedan jan. 2003438 inlägg
#5

Tack för att du hjälper mig.

Jag ändrar frågan lite,

Går det att få input-värdet "?" till action "?". Detta är kanske omöjligt, att om jag t ex fyller i 25 i input så skickas

typ:
<form action="update.asp?ID=<% =RecSet("id") %>&kolumn=trannarv&value= 25>

Men det blir kanske fel när jag kommer till sida2, för där kör den Update. Och jag vill inte höja siffran med 25 utan byta ut den.

Hoppas jag inte är besvärlig.

Nedan följer tidigare kod ex.

[KOD]
<form action="update.asp?ID=<% =RecSet("id") %>&kolumn=trannarv&value= ? " method="post">

<input type="text" name=" ? " size="2">

<input type="submit" value="x">

</form>

Medlem sedan mars 20015 287 inlägg
#6

Det lär väl iofs gå, men det är javascript det andlar om då, du kan testa att söka på tex

ändra and action

Så kanske du kan få träff (i javascriptsforumet)

Men fungerade inte den kodändringen jag visade? Jag tycker det verkar onödigt att hålla på o ändra i action helt i onödan?
Du skickar ju ett formulär och dess hela funktion är ju att föra med sig data.

Du kan väl i alla fall testa detta:

<form action="update.asp?ID=<% =RecSet("id") %>&kolumn=trannarv" method="post"> 
<input type="text" name="value" size="2"> 
<input type="submit" value="x"> 
</form>

samt i mottagande sida, update.asp

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("../../db/site.mdb")
Kolumn = Request.Querystring("kolumn")
value = Request("value")
SQL = "UPDATE spelare SET " & kolumn &" = " & kolumn & value & " WHERE ID = "& Request.Querystring("ID")

Response.write(SQL)
' Conn.Execute(SQL)

Conn.Close
'Response.Redirect "default.asp" 

%>

Den där update-satsen kommer iofs att skriva trannarv + siffran i ditt formulär in i db. Är det rätt?

Medlem sedan jan. 2003438 inlägg
#7

Jo det funkade, men jag upptäckte dock att det inte blev så praktiskt.

Funkar bättre med plus och minus.

Vad som dock kunde vara bra är att alla ID uppdateras med +1 när man trycker på rubriken. Är det ett enkelt uttryck för att uppdatera en hel kolumn med +1?

Jag är väldigt tacksam för att du tagit dig tid att hjälpa mig. Det är ganska klurigt när man skall lära sig nya saker. Sitter stundtals och bara stirrar på skärmen :q.

:) Tack än en gång!

257 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)