Avatar billede stussy Nybegynder
24. juli 2004 - 23:43 Der er 22 kommentarer og
2 løsninger

database haves - lille billede af udtræk ønskes

hvordan kan man gøre dette:
jeg har en database som indholder en smule data (antal besøg på en side)
Databasen hedder counter.mdb og der er en tabel der hedder counts.

Hvordan kan jeg fra en extern side lave et link til denne database (eller en .asp fil på dette domæne) som trækker et tal ud fra databasen, og sender genererer et lille billede med dette tal, som kan vises på den externe side?

På samme måde som fx. chart gør det?
Avatar billede carl_erik Nybegynder
25. juli 2004 - 00:15 #1
du kan bruke  split-funksjon...splitte tallene...å lage bilder som heter fx: 1.gif, 2.gif,3.gif

så "skriver" du ut, det du splittet...slik at det bli bilder ut av tallene....et bilde for hvert siffer...

ellers trenger du en spesiell komponent!
Avatar billede stussy Nybegynder
25. juli 2004 - 00:23 #2
hvordan kan jeg hente et tal fra databasen, og splitte det ad, og få sat alle disse giffer ind på den externe side?
Avatar billede jpvj Nybegynder
25. juli 2004 - 00:31 #3
.mdb tyder på en access database.

Du skal i første omgang finde ud af, om det ER tilfældet. Prøv at åbne filen med Access og se om det går godt.

Hvis det er tilfældet

Dim conn

Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & _
Server.MapPath("\folder\counter.mdb"))

SQL = "SELECT * FROM counts"

Set Rs = Conn.Execute(sSQL)

Do While NOT Rs.EOF
  ' skift <navn> med feltet på tælleren...
  Response.Write("<navn>= " & Rs.Fields("<navn>").value)
  Rs.MoveNext
Loop

Rs.Close
Set Rs = Nothing

Conn.Close
Set Conn = Nothing
Avatar billede stussy Nybegynder
25. juli 2004 - 00:39 #4
ok jeg bruger denne nu til at trække data ud af databasen.

Men hvordan skal jeg splitte resutatet (fx 2315) op i enkelte tal, og få vist disse tal på den externe side.
Med externe side mener jeg en side som slet ikke ligger på samme domæne, og derfor ikke har adgang direkte til databasen, men skal linke til en .asp fil som henter data, og sender infor videre til den externe side.
Avatar billede stussy Nybegynder
25. juli 2004 - 00:40 #5
ups jeg glemte lige koden jeg bruger nu :
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("/counter.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from counter where page='"& page &"'"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

Response.Write rs("counts")
Avatar billede jpvj Nybegynder
25. juli 2004 - 00:47 #6
Du må jo hente ASP siden ind i en freme/iframe...

Det er den eneste løsning. Ellers skal du til at lave parsing på et HTTP response. (ellers du kan skrive en webservice, men det kræver vist at du har din egen webserver
).
Avatar billede jpvj Nybegynder
25. juli 2004 - 00:49 #7
Jeg ville lade ASP siden tegne tallet (det kan let gøres ved at gemme cifrene 0-9, og så lade ASP koden lave en counter ud af disse)...
Avatar billede stoney96 Nybegynder
25. juli 2004 - 00:49 #8
Prøv noget a la:

For I=1 to len(rs("counts"))
  Giffer=Giffer & "<img src=images/img" & mid(rs("counts"), I, 1) & " border=0>"
next
response.write Giffer
Avatar billede jpvj Nybegynder
25. juli 2004 - 00:50 #9
Helt enig med stoney96...
Avatar billede stoney96 Nybegynder
25. juli 2004 - 00:50 #10
... og så skal du jo selvfølgeligt have nogle giffer med navnene img1, img2, osv.....
Avatar billede stoney96 Nybegynder
25. juli 2004 - 00:54 #11
Lille rettelse:
Giffer=Giffer & "<img src=images/img" & mid(rs("counts"), I, 1) & ".gif border=0>"
Avatar billede stussy Nybegynder
25. juli 2004 - 00:58 #12
ok det ser ud til at virke på min testside som ligger på samme domæne.

Men hvordan får jeg en extern side til at hente informationerne om hvilke giffer der skal vises ?

OG det må helst ikke være i en iframe.
Avatar billede jpvj Nybegynder
25. juli 2004 - 01:01 #13
Avatar billede jpvj Nybegynder
25. juli 2004 - 01:10 #14
I flg. http://www.w3schools.com/tags/tag_img.asp kan img src tage en URL som paramter, dvs. du linker blot til en gif fil, der kan tilgås fra en web server...
Avatar billede stoney96 Nybegynder
25. juli 2004 - 01:13 #15
Sådan undgår du en iframe-løsning:

Du kan kombinere asp og javascript således at du sætter en scriptblok på den side hvor tælleren skal vises.
<script language=Javascript src=ditdomain.dk/taeller.asp>

taeller.asp er så din oprindelige asp-side
I denne side skal der så være noget lignende dette som eneste output:
response.write "document.write(""<span class=tekststyleSmall>" & Giffer & "</span>"")"


Linien som danner giffer-strengen skal så lige ændres lidt så den kan finde filerne fra en fremmed webside:
Giffer=Giffer & "<img src=http://www.ditdomain.dk/images/img" & mid(rs("counts"), I, 1) & ".gif border=0>"
Avatar billede jpvj Nybegynder
25. juli 2004 - 15:43 #16
Forlader tråden nu - du ser ud til at være næsten igen :-)

God søndag!
Avatar billede stussy Nybegynder
26. juli 2004 - 00:14 #17
det driller mig altså :-(

jeg har nu denne "externe side" test.htm:

---
<p>dette er en test for at se om counteren virker </p>
<p>Antal hit ifølge denne side :
<script language=Javascript src=mitdomæne.dk/ink/counter.asp>
stk.</p>
<p>så må vi se om skidtet virker som det skal :-)</p>

---

og denne counter.asp

----

<%
page="ink"
%>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("/ink/ink.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * from counter where page='"& page &"'"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

counts=rs("counts")
counts=counts+1

strSQL = "update counter set counts = "& counts &" where page='"& page &"'"
Conn.Execute(strSQL)

For I=1 to len(rs("counts"))
Giffer=Giffer & "<img src=http://www.mitdomæne.dk/images/img" & mid(rs("counts"), I, 1) & ".gif border=0>"


response.write "document.write(""<span class=tekststyleSmall>" & Giffer & "</span>"")"
next
%>
Avatar billede stoney96 Nybegynder
28. juli 2004 - 17:54 #18
Har været væk et stykke tid, driller det stadigvæk ?
Avatar billede stussy Nybegynder
28. juli 2004 - 21:46 #19
jeps - det der driller er at kalde "tal" til den externe side. Altså test.htm siden
Avatar billede stoney96 Nybegynder
28. juli 2004 - 22:33 #20
OK - check http://www.innocent.dk og se hvordan jeg har implementeret den lille vejrudsigt. Led efter "innocentweather.asp" i kildeteksten.

Jeg tror dog bare at det er
src=mitdomæne.dk som skal ændres til src=http://mitdomæne.dk
i din test.htm
Avatar billede stoney96 Nybegynder
28. juli 2004 - 22:40 #21
... og så skal der afsluttes med </script> lige umiddelbart efter som:
<script language=Javascript src=http://mitdomæne.dk/ink/counter.asp></script>
Avatar billede stussy Nybegynder
28. juli 2004 - 23:02 #22
se nu skete der noget :)

MEN det går galt når man når til 2 cifrede tal.

Altså 1,2,3,4,5,6,7,8,9 gåt fint, men der kommer en scriptfejl ved 10 :-(

Hvad kan det være?
Avatar billede stussy Nybegynder
28. juli 2004 - 23:14 #23
skal lige siges, at hvis jeg ændrer til blot at vise tal (ikke giffer) så virker det fint nok
Avatar billede stoney96 Nybegynder
29. juli 2004 - 15:57 #24
Er det en javascript-fejl eller en asp-fejl....?
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