webForumDet fria alternativet

dynamisk tilldelning av lokala variabler...

ASP

11 svar · 408 visningar · startad av Eclipse

Medlem sedan juli 20003 825 inlägg
Frågan#1

Vi har diskuterat detta vid något tillfälle tidigare men jag minns inte när det var eller vilket projekt det rörde sig om...!

Koden ser ut som

clickEveryDay & j = mySQL(0)

och det är tänkt att stå

clickEveryDay0
clickEveryDay1
clickEveryDay2
clickEveryDay3 ... osv...

Detta är endast kod för statistik så det finns inget behov av att vara optimerat eller direkt snyggt...

Medlem sedan juni 200032 967 inlägg
#2

Jag skulle ha använt en array. Annars så kan man använda Execute(), men jag rekommenderar helt klart att använda en array.

Execute ("clickEveryDay" & j & "=""" & mySQL(0) & """)
Medlem sedan juli 20003 825 inlägg
#3

OK... låt mig förklara själva problematiken:

Det är en logg med folk som klickar. Det kan vara t.ex. 5-8 klick på en dag, alltså, ett visst datum.

Tidigare har vi gått igenom datum + access och kommit fram till koden:
... & " AND format(vcl.dteCreated, 'short date') = #" & date() & "# ;"

Prylen är ju den at jag vet inte hur många dagar loggen har funnits! I 5 dagar är det 5 dagar, efter 40 dagar är det 40 dagar... liksom!

1. Räkna ut hur många dagar som loggen gäller för.
2. Räkna antalet klick (antalet poster) för respektive dag.

Så ser det ut...! :-)

Medlem sedan juni 200032 967 inlägg
#4

Låter som att det är klockrent för en array.

mvh

Medlem sedan juli 20003 825 inlägg
#5

SQL = "SELECT intID FROM [loggfilen l] WHERE format(l.dteCreated, 'short date') = #" & date() & "# ;"

Koden i förenklad form. Hur kan man loopa det där och få koden att sluta räkna efter 40 dagar..!?

(Börjar likna SQL mer än ASP...)

Medlem sedan dec. 2003229 inlägg
#6

Tänk typ:

-Dag = startdatum
-Loopa tills Dag = dag+40
-Dag = dag +1
SQL = "SELECT intID FROM [loggfilen l] WHERE format(l.dteCreated, 'short date') = #" & date() & "# ;"
-Börja om

Kanske?
Finns inte så många månader med 40 dagar men det borde väll kunna gå att lösa med datumfunktionerna?

Medlem sedan juli 20003 825 inlägg
#7

40 var ett exempel!

Hur lång en logg är beror givetvis på när man börjar... och det blir ju "en dag mer" för var dag som går. Jag skrev ovan:

1. Räkna ut hur många dagar som loggen gäller för.
2. Räkna antalet klick (antalet poster) för respektive dag.

Are you with!?

Medlem sedan juli 20003 825 inlägg
#8

Jag har prövat massa olika varianter av nedanstående...

Microsoft VBScript compilation  error '800a03ea'

Syntax error

/admin/banner/daily.asp, line 48

clickEveryDay & j = mySQL(0)
--------------^

2.
När jag ändå håller på, vilken server variabel är det markerade??
www .------.se/admin/x.asp**?index=123**

Request.ServerVariables("PATH_INFO") --??

Medlem sedan juli 20003 825 inlägg
#9

31. QUERY_STRING : index=123

Medlem sedan juni 200032 967 inlägg
#10

Jag har prövat massa olika varianter av nedanstående...

Som jag skrev (eller åtminstone menade) ovan, kan du inte skriva så. Ska du dynamiskt namnge variabler på det sättet (även om jag inte för mitt liv kan förstå varför man skulle vilja det) så får du krångla enligt mitt execute-exempel ovan.

Mvh

Medlem sedan juli 20003 825 inlägg
#11

Ok, men ditt exempel var en av de varianter som inte heller fungerade...

Sorry for bad code....

Medlem sedan juni 200032 967 inlägg
#12

Ok, men ditt exempel var en av de varianter som inte heller fungerade...

Det var snabbskrivet, så jag hade missat ett citationstecken i slutet.

Execute ("clickEveryDay" & j & "=""" & mySQL(0) & """")
260 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)