Avatar billede Laitings Nybegynder
06. marts 2002 - 11:03 Der er 8 kommentarer og
1 løsning

musens koordinater i database?

Hjælp!

Er det muligt at registrere et musekliks koordinater i en database!?

Jeg har kæmpet med det i lang tid nu og er indtil videre nået til følgende. Det funker dog ikke en sk..!
I øvrigt kunne det være fedt med et svar i VB-Script. :)

Hjææælp

<%
Sub Document_onClick()
 
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DSN=Nyt_DSN"

  Dim X_relative, Y_relative
X_relative = window.event.X
Y_relative = window.event.Y

' SQL sætning opbygges
strSQL = "Insert into PersonTabel ("
strSQL = strSQL & "Xlok,"
strSQL = strSQL & "Ylok)"

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & X_relative & "',"
strSQL = strSQL & "'" & Y_relative & "')"

' SQL sætning eksekveres
myConn.Execute(strSQL)

' Luk databaseforbindelse
myConn.Close
Set myConn = Nothing

End Sub

%>
Avatar billede fireworld Nybegynder
06. marts 2002 - 11:54 #1
du blander jo javascript sammen med ASP i det script...

lav en fil i ASP hvor du kan sende variablerne


clickx og clicky ... og sæt dem ind i databasen i f.eks

click.asp

i click.htm

laver du bare en


<script>

function myclick()
{
window.open('click.asp?clickx='+window.event.x+'&clicky='+window.event.y+'','_blank');
}

document.onmousedown=myclick;
</script>
Avatar billede fireworld Nybegynder
06. marts 2002 - 11:54 #2
evt. i et skjult frame
Avatar billede Laitings Nybegynder
06. marts 2002 - 12:17 #3
Tak for hjælpen! Umiddelbart virker det meget rigtigt! Men du må altså undskylde jeg er rimeligt nybegynder men hvordan henter jeg de to variable i click.asp? Den læser dokumentet og der kommer også en entry i databasen, men både x og y værdi står til 0!?

<%
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DSN=Nyt_DSN"

' SQL sætning opbygges
strSQL = "Insert into PersonTabel ("
strSQL = strSQL & "Xlok,"
strSQL = strSQL & "Ylok)"

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & int(xclick) & "',"
strSQL = strSQL & "'" & int(yclick) & "')"

' SQL sætning eksekveres
myConn.Execute(strSQL)

' Luk databaseforbindelse
myConn.Close
Set myConn = Nothing


%>
Avatar billede jivefive Nybegynder
06. marts 2002 - 12:31 #4
Hej Mescalito

Du skal hente variablerne fra querystringen (altså den url der er blevet sendt fra klienten) med Request objektet i ASP.

Det lyder svært men er simpelt. Udskift dine variabler xclick og yclick med Response("clickx") og Response("clicky"), så får du indsat værdierne fra den url streng, som du sendte afsted med dit javascript.


JiveFive
Avatar billede Laitings Nybegynder
06. marts 2002 - 12:50 #5
Hej jivefive!

1000 tak for hjælpen! ...ja det lyder sgu' svært...og det er det også! :)

Jeg går udfra at der skulle stå request i stedet for response...det skriver du jo sådan set også.

Den giver dog stadig en nulværdi i databasen, eller rettere nu giver den slet ingen værdi, men laver stadig en ny entry. Måske fejlen ligger i scriptet der sender til ASP-dokumentet!?

<%
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DSN=Nyt_DSN"

' SQL sætning opbygges
strSQL = "Insert into PersonTabel ("
strSQL = strSQL & "Xlok,"
strSQL = strSQL & "Ylok)"

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & request("xclick") & "',"
strSQL = strSQL & "'" & request("yclick") & "')"

Hvis jeg i øvrigt vil lave variablen om til et tal, skal jeg så bruge int() på asp-dokumentet eller i scriptet?

På forhånd tak!

-Mescalito
Avatar billede jivefive Nybegynder
06. marts 2002 - 13:13 #6
Hmm ups det var en smutter - det skulle selvfølgelig være request

Men til sagens kerne. Javascriptet virker fint nok og hvis du tester det, kan du se de to variabler der bliver sendt med i url'en. Det vi nok snarer skal kigge på er din sql streng. Først og fremmest var jeg ikke lige opmærksom på, at du gerne vil have dem gemt som integers, for så er der en lille fejl i din sql sætning. Du sætter ' rundt om dine indsatte variable værdier, men det skal man kun, når der er tale om en streng værdi. Derudover bruger du stadigvæk variablenavnene xclick og yclick i din SQL streng men i den urlstreng, som du sender, der hedder de clickx og clicky. Altså skal SQL strengen se ud som følger.

strSQL = "INSERT INTO personTabel (Xlok,Ylok) VALUES (" & CInt(Request("clickx")) & "," & CInt(Request("clicky")) & ")"

Så skulle det virke.

JiveFive
Avatar billede Laitings Nybegynder
06. marts 2002 - 13:26 #7
Du er for hård! 1000 tak! Nu funker det! You're my hero! :-)

Der er dog én ærgelig ting. Koordinaterne er kun for det område man kan se. Mit dokument består af et billede i 1600x1200, dvs. man er nødt til at scrolle for at se det hele. Jeg havde håbet på at window.event fandt koordinaterne også når man scrollede til fx 1300x745, altså i forhold til hele dokumentet!?
...i øvrigt registrere den også koordinaterne når man trykker på scrollknapperne!

-minor problems! Jeg kæmper videre! :-)

Anyways...1000 tak! Det var uundværlig og værdsat hjælp!
Avatar billede fireworld Nybegynder
06. marts 2002 - 15:00 #8
lolz... ingen points til mig?
Avatar billede Laitings Nybegynder
06. marts 2002 - 15:15 #9
Jo, det var en fejl sorry! Prøvede at dele op men lavede vist noget ged!

Hvis du fortæller mig hvordan man gør vil jeg meget gerne lige smide nogen point din vej! 1000 tak fr hjælpen!

Mescalito
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