Avatar billede hostgirl Nybegynder
16. december 2004 - 11:58 Der er 7 kommentarer og
1 løsning

Counter til records

Hej ekspeter..

Jeg står og mangler rådgivning til hvordan man kan lave en counter.

Jeg har sql sætning hvor den henter data fra databasen.

Så står der fx.

Netværksting (30)
Software (25)

Set objRS = objConn.Execute("SELECT * FROM ShopProductCategory ORDER BY Category")
If sætning til løkke
%>
    <tr>
        <td><strong><a href="detail.asp?id=<%=objRS("CId")%>"><%=objRS("Category")%></a></strong></td>
  </tr>
<%
End If

Så ønsker jeg at der skal stå et tal med hvor mange records der er til den Kategori... håber i forstår.

\\ mee
Avatar billede fennec Nybegynder
16. december 2004 - 12:03 #1
Er det noget i denne stil du søger:

counter = 0
Set objRS = objConn.Execute("SELECT * FROM ShopProductCategory ORDER BY Category")
do while not objRS.eof
...
...
  counter = counter + 1
  objRS.MoveNext
loop
response.write "Der var "& counter &" resultater"
Avatar billede hostgirl Nybegynder
16. december 2004 - 12:15 #2
det var også mit umiddelbare gæt, og virker fint hvis der kun er en record i ShopProductCategory. Jeg har to tabeller i min database. En der hedder ShopProductCategory, som indeholder: CId og Category. Derudover har jeg en anden tabel der hedder Products, som indeholder PId, CId, Productname .... Price. Her er en relation til CId i ShopProductCategory. Det jeg ønsker er at den skal liste alle records i ShopProductCategory, hvor den efter hver enkel record sætter (etTal) efter, som er det antal records fra Products hvor relationen CId passer sammen.
Avatar billede fennec Nybegynder
16. december 2004 - 12:39 #3
Så er jeg med. Så kan du bruge denne:

<%
Set objRS = objConn.Execute("SELECT ShopProductCategory.Cid, ShopProductCategory.Category, COUNT(Products.Pid) AS antal FROM ShopProductCategory INNER JOIN Products ON Products.CId = ShopProductCategory.Cid GROUP BY ShopProductCategory.Cid, ShopProductCategory.Category")
do while not objRS.eof %>

<tr>
  <td><strong><a href="detail.asp?id=<%=objRS("CId")%>"><%=objRS("Category")%> (<%=objRS("antal")%>)</a></strong></td>
</tr>
<%
  objRS.MoveNext
loop %>
Avatar billede hostgirl Nybegynder
16. december 2004 - 12:53 #4
Jeg takker og afprøver straks løsningen
Avatar billede hostgirl Nybegynder
16. december 2004 - 12:57 #5
hmm jeg får en fejl:

Set objRS = objConn.Execute("SELECT ShopProductCategory.Cid, ShopProductCategory.Category, ShopProductCategory.Comment COUNT(ShopProducts.Pid) AS antal FROM ShopProductCategory INNER JOIN ShopProducts ON ShopProducts.CId = ShopProductCategory.Cid GROUP BY ShopProductCategory.Cid, ShopProductCategory.Category")


Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-standard]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'COUNT(ShopProducts.Pid) AS antal FROM ShopProductCategory INNER

/shop.asp, line 23
Avatar billede fennec Nybegynder
16. december 2004 - 13:01 #6
Du mangler et komma før count, og Comment skal også på GROUP BY listen:

Set objRS = objConn.Execute("SELECT ShopProductCategory.Cid, ShopProductCategory.Category, ShopProductCategory.Comment, COUNT(ShopProducts.Pid) AS antal FROM ShopProductCategory INNER JOIN ShopProducts ON ShopProducts.CId = ShopProductCategory.Cid GROUP BY ShopProductCategory.Cid, ShopProductCategory.Category, ShopProductCategory.Comment")
Avatar billede hostgirl Nybegynder
16. december 2004 - 13:06 #7
smid lige et svar :)
Avatar billede fennec Nybegynder
16. december 2004 - 13:07 #8
.o) <-- One Eyed Jack
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