webForumDet fria alternativet

Knapp...

12 svar · 184 visningar · startad av borg

borgMedlem sedan mars 200046 inlägg
#1

Jag vill göra så att när man trycker på en knapp så läggs en ny post in i min databas. Jag vill dessutom att sidan inte skall laddas om eller att jag behöver hämta en ny sida. Så hur gör jag då?

/borg

PatrikBMedlem sedan mars 20002 836 inlägg
#2

Hello,

detta funkar för mig:

Response.Status = "204 No Content"

SQLStmt = "INSERT INTO Basket(B_UserId,Prod_Id,B_Total,B_Date) values (" & Session.SessionId & "," & Request.QueryString("fbprod_id") & "," & Request.Form("fb_total") & ",#" & Date() & "#)"
Connection.Execute(SQLStmt)
Connection.Close

Det som gör så at det ej laddas en ny sida är den första raden som säger att det inte finns ngt innehåll

cul8er
/PatrikB

borgMedlem sedan mars 200046 inlägg
#3

Nu var det inte riktigt det jag ville veta. Vill kunna göra något i stil med detta:

Response.Write("<button type='button' name='buttonName' onClick=" & test() & ">SQL-Sträng</button>")

Men som sagt, det funkar ju tyvärr inte. :(

/daniel

BrimbaMedlem sedan dec. 19995 875 inlägg
#4

Hur skall det gå till väga hade du tänkt dig?

Skicka information utan att arbeta?

Jag menar den måste ju laddas om i alla fall.

Du kan ju göra så du kommer tillbaka till exakt samma sida efter att man tryckt på knappen, och har man en snabb anslutning så ser man inte att den laddas om :)

Varför får sidan inte laddas om eller hämta en ny sida om man får fråga?

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

borgMedlem sedan mars 200046 inlägg
#5

Jag hade tänkt att om det går att göra en miniräknare som sidan inte behöver ladda om för att få fram resultat. Då borde det gå att göra en sida som skickar en SQL-sträng på det sättet. Eller? :q

/daniel

BrimbaMedlem sedan dec. 19995 875 inlägg
#6

Hej igen!

Miniräknare, varför skall du använda dig utav en databas då?

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

borgMedlem sedan mars 200046 inlägg
#7

:D hehe... nej. Jag kommer inte att använda någon miniräknare. Det är bara de att det vore kanon om man kunde ha en subrutin som startades om man tryckte på en knapp. Slipper ju göra ännu en sida då. Man är ju lat. :)

/daniel

BrimbaMedlem sedan dec. 19995 875 inlägg
#8

Hej!

Det är skillnad att skicka information till en databas och räkna multiplikation.

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

borgMedlem sedan mars 200046 inlägg
#9

Jag vet, men jag ville bara göra en liknelse. Du vet när man trycker på en knapp med en etta på så kommer det upp "1" i en textbox. Vad jag funderade på var om man kunnde använda den funktionen för att starta en subrutin istället för att trycka fram något i ett textfönster. Förstår du min tankegång nu?

/daniel

BrimbaMedlem sedan dec. 19995 875 inlägg
#10

Hej igen.

Jag tycker endå att du kan göra så som PatrikB sa.

Gör en sida som heter tex 2.asp
där lägger du in följande kod:

<%
' ==========================================================================
' Säg till webbläsaren att detta dokument inte innehåller någon data så att
' webbläsaren struntar i att ladda dokumentet.
' ==========================================================================

Response.Status = "204 No content"

' ==========================================================================
' Öppna databasen och lägg i informationen
' ==========================================================================

Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open "driver={Microsoft Access Driver (*.mdb)};dbq=c:\databas\databas.mdb"
SQLStmt = "INSERT INTO tabell"
SQLStmt = SQLStmt & "(Id, tva, tre, Antal)"
SQLStmt = SQLStmt & "VALUES(" & Session.SessionId & "," & tva & ", " & tre & ", " & antal & ")"
Connection.Execute(SQLStmt)
%>

Detta gör ju att sidan aldrig kommer att öppnas, men den kommer att köras!

Det ger ju samma resultat!

Sen kan du ju köra

response.redirect Request.ServerVariables("http_referer")

För att först köra en sida, och sedan komma tillbaka till den föregående.

Om du bara vill göra en sida, kan du ju alltid skriva in samma kod på den sidan och lägga till en if sats, och sen skriva att if variabel = true then utför databas koden else ta fram knapparna.

Ha det!

------------------
Mvh
Patrik
aka Brimba

www.datormaklarna.se
patrik@datormaklarna.se

borgMedlem sedan mars 200046 inlägg
#11

Blir nog illa tvungen till att skriva en sida till. :( Men hade det gått att göra som jag försökt beskriva så vore det hur bra som helst. Men nåja, allt blir ju inte som man tänkt sig när man knappar kod.

Tack iaf. :)

/daniel

PatrikBMedlem sedan mars 20002 836 inlägg
#12

Hello,

du kan ju göra knapparna som vanliga bilder, länka dem till sidan som ej kommer att laddas, förklarad här ovanför.

Lägg på en QueryString med SQL frågan + den info du behöver ....

<a href="2.asp?SQLfraga="SELECT .... etc&action=run ... etc.><img src="knapp.gif"></a>

har använt mig av denna funktion på en webshop, med knappar på detta vis, funkar hur bra som helst ... och samma sida ligger framme hela tiden medans ny data åker in i db'n

cul8er
/PatrikB

borgMedlem sedan mars 200046 inlägg
#13

Jag har förstått ert tankesätt nu. Satt för mycket fast i ett annat tankesätt för att se vad ni menade först. Men nattens goda sömn har fått mig att komma in i skaran av de upplysta. Känns riktigt skönt. :)

Tack igen! *bugar*

/daniel

136 ms totalt · 3 externa anrop · v20260731065814-full.16f3d68c
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)