Leif Neland wrote in dk.edb.internet.webdesign.serverside.asp:
> Den 29-09-2010 10:44, j p skrev:
> > Hej
> >
> > Jeg har koden:
> >
> > for x=1 to 7
> > strsql = "SELECT dato,count(vare) as d FROM butik_5 where
> > dayofweek(dato) ="& x
> > Set rs = Conn.Execute(strSQL)
> > response.write "<li>"& rs("d")& "</li>"
> > next
>
> Hvorfor select'er du dato, når du ikke bruger den? Og det er i øvrigt
> også bare en tilfældig, måske den første dato, der er f.ex. en mandag.
>
> Du er ond ved databasen, du laver 7 selects, hvor du kunne nøjes med 1:
>
> SELECT dayofweek(dato) ugedag,count(vare) as d FROM butik_5
> GROUP by 1
> ORDER BY 1
>
> Du kan så hente resultatet op i et todimensionelt array
> aUgesalg = rs.GetRows
> ' aUgesalg(0,0)=dagnummeret på den første dag (1 for søndag)
> ' aUgesalg(1,0)=salg første dag
> ' aUgesalg(0,n)=dagnummeret på den n'te dag
> ' aUgesalg(1,n)=salg n'te dag
>
> Husk at du ikke nødvendigvis får 7 rækker, kun en pr ugedag, der er salg.
> >
> > Den tæller vare op pr. ugedag, hvordan kan jeg trækker data ud
> > f.eks. mandage fra kl. 10 - 12 ?
> >
> > Dato er gemt som DateTime i mySQL databasen
> >
> Lav grupperingen i databasen, og sorter det senere i asp
>
> strsql="SELECT dayofweek(dato) ugedag,hour(dato) time, count(vare) as d
> FROM butik_5
> GROUP by 1,2
> ORDER BY 1,2"
>
> set rs = Conn.Execute(strSql)
> 'Hent resultatet ind i array
> aSalgRes=rs.GetRows
>
> 'sorter resultatet ud i "regneark med dage nedad og time henad"
> dim aSalg(8,25) 'Array går fra 0 til 7, 0 til 24, række og søjle 0
> 'spildes, men det er lettere at overskue
>
> for n = 0 to UBound(aSalgRes,2) '2. dimension af resultatarray = antal
> rækker
> aSalg(aSalgRes(0,n),aSalgRes(1,n))=aSalgRes(2,n)
> next
>
> 'Så er salget mandag 10-12 aSalg(2,10)+aSalg(2,11)
>
>
> PS:
> Hvis du prøver at lave noget med at i asp at lave et sql-kald pr time pr
> ugedag, så risikerer du der kommer en gal databaseadministrator og slår
> dig i hovedet, hvis du arbejder på større datamængder.
>
> PPS: Det kan også laves uden at hente det op i et mellemarray, men kun
> tage en række ad gangen, men det er mere langhåret. Når der kun er tale
> om 7*24 celler, så er det ikke besværet værd at optimere for ram-forbrug.
>
> Leif
>
>
Takker, det virker fint....nu skal jeg blot prøve at forstå det :)
mvh
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials