02. januar 2007 - 12:59Der er
14 kommentarer og 1 løsning
Splitte streng i flere informationer
Hej eksperter
Jeg er ved at lave min egen simple statistik for min hjemmeside. Når en bruger kommer fra en søgemaskine, skriver den oplysningerne i min database. Et resultat kunne f.eks. være:
Har du allerede en kode som udskriver rs2("Streng")??
Det vil være nemmere at indbygge det i din kode med det samme, istedet for at gætte hvordan den ser ud, så hvis du kan vise os hele din eksisterende kode, eller bare det relavante udsnit, vil det være 10-4.
Også kunne vi lige så god smide det i en funktion: function hentQ(byVal fVal) dim fArr fArr = split(fVal,"?q=") fVal = fArr(1) hentQ = left(fVal,inStr(fVal,"&")-1) end function
Når en bruger besøger siden og kommer fra en søgemaskine, oprettes der en ny linie i en tabel i min mysql-database. Efterfølgende henter jeg oplysninger fra databasen med f.eks. <%Response.write rs2("Strenghost")%>. Værdien af <%Response.write rs2("Strenghost")%> er så f.eks. http://www.google.dk/search?q=kroophold&hl=da&lr=&start=20&sa=N. I min visning vil jeg gerne have smidt det overflødige væk og blot få vist indholdet af q. Giver dette mening?
Sådan ville jeg også mene, at det skulle laves, men der kommer blot en fejlmeddelelse, Microsoft VBScript runtime error '800a0009'
Subscript out of range: '[number: 1]'
/kadmin/statalledag2.asp, line 77
Hele min kildekode i loopen er:
<% if rs2.bof AND rs2.eof then response.write "<font face='Arial' color='#000000' size='2'>Intet resultat ud fra din søgning</font>" else %> <% a = 1 %> <% Do %> <p> <font face="Arial" size="2" color="#800000"> <b><% Response.write a %></b> </font>
Det er så fordi du har værdier i databasen som ikke indeholder "?q=" teksten. Vil gætte på at det ikke er alle der kommer fra google :o)
Vi kan rette funktionen: function hentQ(byVal fVal) dim fArr if inStr(fVal,"?q=") then fArr = split(fVal,"?q=") fVal = fArr(1) hentQ = left(fVal,inStr(fVal,"&")-1) else hentQ = fVal end if end function
Nu virker det vist, måske kun nogle gange. Jeg får lige lavet nogle flere søgninger og ser det hele an. Skal desværre afslutte nu, men tager det op igen i aften - hvor jeg forhåbentlig bare skal tildele point :-)
Det er lidt mystisk det hele - ca. halvdelen af gangene vises resultatet korrekt, mens resten af gangene vises hele adresselinien. Nå, det er fint, som det er, så mange tak for hjælpen. Fennec, smidt et svar :-)
Siden er en del af mit eget administratorsystem, så jeg kan desværre ikke give et link. Jeg har fundet en helt fin mellem-løsning, så mange tak for hjælpen. Pointene er fuld fortjent!
Synes godt om
Ny brugerNybegynder
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.