Avatar billede trick Nybegynder
01. september 2003 - 11:41 Der er 4 kommentarer og
1 løsning

Dato sortering og optælling

Hej der,
Jeg sidder og roder med at lave en statistik over brugen af et flash site. Nu skal jeg blankt erkende at jeg dæleme ikke er nogle ASP haj, thi det er i sandhed ret nyt for mig, når men nok om det.

Jeg har fået det meste til at virke, men vil nu gerne have mulighed for at have en dags oversigt:

Hvor jeg lister de dage der har været nogle inde på siden og viser antal besøg den dag.

Jeg vil bygge det op på følgende måde:

<TABLE WIDTH="90%" BORDER="0">
<td><B>Dag:</B></td><TD><B>Antal</B></TD>

<% a = 0
Set Res = DBC.execute("SELECT starttid FROM stat ORDER BY starttid")
grayit = "#000000"
While Not Res.eof
a = a +1
%>

<tr valign="top" bgcolor="<% = grayit %>">
<td><A HREF="dagen.asp?startdato=<%=res("pixestat_starttid")%>"><%=res("pixestat_starttid")%></a></td><TD><%=a%></TD>
<%
Res.movenext
if grayit = "#000000" then
grayit = "#002020"
else
grayit = "#000000"
end if
WEnd
%>
</table>

Men nu kan jeg ikke lige overskue hvordan jeg laver en løkke der tælle antallet (a) op dag for dag og kun udskriver de dage der har været besøg og antal besøg.

Min dato format ser således ud 29-08-2003 13:34:27

Hvilket giver mig et andet lille problem når jeg lister på dato, thi her lister den f.eks. på følgende måde…

01-09-2003 09:45:33
28-08-2003 19:11:20
29-08-2003 08:47:34

Håber nogle kan hjælpe mig
trick C;)
Avatar billede eagleeye Praktikant
01. september 2003 - 11:56 #1
Hvilken type er din kolonne starttid, det tyder på den er af typen text og ikke Date/Time så den sortere data som tekst.

Hvis du bruger Access kan du prøve at sætte Cdate ind i SQL sætning så den sortere det som date/time:


Set Res = DBC.execute("SELECT starttid FROM stat ORDER BY CDate(starttid)")
Avatar billede eagleeye Praktikant
01. september 2003 - 12:04 #2
Hvis du vil havde talt sammen hvordan der har være pr. dag så kan du gøre det direkte i SQL. men count og GROUP BY:

SQL = "SELECT count(*) as antal, formatdatetime(starttid,0) as dato FROM stat GROUP BY formatdatetime(starttid,0) ORDER BY formatdatetime(starttid,0)"

Set Res = DBC.execute(SQL)
do while not res.EOF
  Response.write "antal besøgne : " & res("antal") & " den " & res("dato") & "<br>"
  res.Movenext
loop


Eks til Access
Avatar billede trick Nybegynder
01. september 2003 - 12:38 #3
Jeg skal til at roder lidt vidre med det nu, men jeg bruger MS SQL database...
Avatar billede eagleeye Praktikant
01. september 2003 - 12:43 #4
Jeg ved ikke helt som MS SQL har formatdatetime funktionen. Der findes helt klart en funktion som kan formatere så den kun finder datoen, det er bare hvad den så hedder.
Avatar billede trick Nybegynder
09. september 2003 - 11:03 #5
Tja jeg kunne ikke få count til at virke, men har løst det med:
SQLStr = "SELECT starttid FROM pixestat WHERE starttid <= '" &cLng(cdate(date()-30))& "' ORDER BY starttid"
Og så herefter lavet en asp løkke men lukker mit spørgsmål nu, men ellers tak for hjælpen..

Tildeler dig nu alligevel pointsne...
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