---
title: "Får inte till det..."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/8415-får-inte-till-det"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Inferis"
published: "2001-02-25T00:16:00.000Z"
updated: "2001-03-05T22:55:00.000Z"
replies: 22
views: 278
page: 1
pages: 2
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/8415-får-inte-till-det"
---

# Får inte till det...

_Sida 1 av 2._

## #1 — Inferis, 2001-02-25T00:16Z

Nån som vill hjälpa mig? Jag försöker räkna hur många annonser som finns i respektive underkategori. Men det vägrar fungera! Får bara värdet noll, så jag antar att jag inte lyckas hämta något värde?

```
<%
' Lista kategorier
SQLan = "select * from smclcategory where pid = 0 order by category asc"
Set samla_alla = samlaannonser.Execute(SQLan)

'räkna annonser

	smclquery1 = "select count (id) as counting from smclads where category = "& samla_alla("id")&" and validate = 1"
	set rakna_alla = samlaannonser.execute(smclquery1)
While Not samla_alla.EOF

%>
```

Annonserna ligger i tabellen "smclads" och kategorierna ligger i "smclcategory".

Skriver ut kategorierna så här:
\<a href="default.asp?action=badscat&catid=\<%=samla_alla("id")%\>"\>&nbsp;&#149;&nbsp;\<%=samla_alla("category")%\>\</a\> (\<%=rakna_alla("counting")%\> )

Den hittar kategorierna som den ska, men kan inte räkna hur många annonser som finns i dem.

Permalänk: https://www.webforum.nu/p/8415

## #2 — Inferis, 2001-02-25T00:18Z

Den där punkten är ett &-tecken i länken.
Inget fel på länken alltså. Bara här i forumet tydligen?

\[Redigerat av Inferis den 25 feb 2001\]

Permalänk: https://www.webforum.nu/p/260558

## #3 — Vide, 2001-02-25T01:19Z

Testa att skriva ut SQL-satsen till HTML... brukar vara lättare att se vad som är fel då... (Response.write)

Permalänk: https://www.webforum.nu/p/260559

## #4 — Inferis, 2001-02-25T12:43Z

Får fortfarande värde noll! :-(

Kan felet vara att den inte kan hämta informationen från samla_alla("id") som ligger i en annan tabell?

Permalänk: https://www.webforum.nu/p/260560

## #5 — Vide, 2001-02-25T12:49Z

Vad stod  det i SQLsträngen du fick ut när du skrev ut den?

Jag antar att du har mer kod än den du visar... så det är inget fel på loopen?

Permalänk: https://www.webforum.nu/p/260561

## #6 — Inferis, 2001-02-25T13:11Z

Eftersom den listar alla kategorier så borde ju loopen fungera tycker man??
Den ska bara lista "topp-kategorierna", men visa hur många annonser som finns inne totalt i varje "topp-kategori".

Det är ju när den ska räkna antal annonser som finns i underkategorierna som det blir fel. Får värde noll.

koden med HTML bortklippt:
\<%
Set samlaannonser = Server.CreateObject("ADODB.Connection")
samlaannonser.Open "Provider=SQLOLEDB; Server=XXX.XX.XXX.XXX; Initial Catalog=XXXX; User ID=XXXX; Password=XXXX"

'räkna annonser totalt

	smclquery2 = "select count (id) as counting2 from smclads where validate = 1"
	set rakna_totalt = samlaannonser.execute(smclquery2)
        antal = counting2

' Lista kategorier
SQLan = "select \* from smclcategory where pid = 0 order by category asc"
Set samla_alla = samlaannonser.Execute(SQLan)

'räkna annonser

	smclquery1 = "select count (id) as counting from smclads where category = "& samla_alla("id")&" and validate = 1"
	set rakna_alla = samlaannonser.execute(smclquery1)
While Not samla_alla.EOF
%\>
Annonser:\<br\>
\<a target="home" href="default.asp?action=badscat&catid=\<%=samla_alla("id")%\>"\>&\<%=samla_alla("category")%\>\</a\> (\<%=rakna_alla("counting")%\> )

\<%
samla_alla.MoveNext
Wend
%\>

\<%samla_alla.Close
set samla_alla = nothing%\>
\<%rakna_alla.Close
set rakna_alla = nothing%\>
\<%rakna_totalt.Close
set rakna_totalt = nothing%\>
\<%samlaannonser.Close
set samlaannonser = nothing%\>

\[Redigerat av Inferis den 25 feb 2001\]

Permalänk: https://www.webforum.nu/p/260562

## #7 — LarsG, 2001-02-25T15:09Z

Som det är nu så räknar du enbart antalet annonser för den första kategorin. Om du flyttar in det i loopen

```
While Not samla_alla.EOF
   smclquery1 = "select count (id) as counting from smclads where category = "& samla_alla("id")&" and validate = 1"
set rakna_alla = samlaannonser.execute(smclquery1)
...
```

Alternativt kan man slå ihop det till en fråga med en group by

Permalänk: https://www.webforum.nu/p/260563

## #8 — Inferis, 2001-02-25T15:14Z

Det funkade inte... :-(

Men ska nog kolla igenom, för nåt fel måste jag kanske gjort i SQL:en?

Permalänk: https://www.webforum.nu/p/260564

## #9 — Vide, 2001-02-25T15:21Z

Och för tredje gången ;) vad står det när du skriver ut SQL-strängen?

Permalänk: https://www.webforum.nu/p/260565

## #10 — Inferis, 2001-02-25T15:24Z

Det står ju bara en nolla?

response.write samla_alla("id") & "\<br\>"

Eller jag är ute o seglar?

Permalänk: https://www.webforum.nu/p/260566

## #11 — emission, 2001-02-25T21:23Z

Ja, lite.... :)

SQL-frågan ligger i smclquery1

skriv ut den med

response.write smclquery1

Men en group by-fråga är ett bättre sätt...

SELECT COUNT(ads.id) AS counting,cats.\[kolumnen med kategorinamnet\] FROM smclads ads,smclcategory cats WHERE ads.category=cats.category GROUP BY cats.\[kolumnen med kategorinamnet\]

Då får du allt på en gång.

Permalänk: https://www.webforum.nu/p/260567

## #12 — Inferis, 2001-03-03T20:28Z

Hmm. Koden ovan är för Access va? jag kör detta på mssql.

Permalänk: https://www.webforum.nu/p/260568

## #13 — LarsG, 2001-03-03T20:40Z

Nej, den är inte Accessspecifik utan fungerar också för MS-SQL.

Permalänk: https://www.webforum.nu/p/260569

## #14 — PatrikB, 2001-03-03T20:40Z

hello,

tror att detta e lite fel:

```
antal = counting2
```

Anatar att counting2 INTE är en variabel.

Det bör stå:

```
antal = rakna_totalt("counting2")
```

cya,

Permalänk: https://www.webforum.nu/p/260570

## #15 — Inferis, 2001-03-03T21:50Z

antal = counting2 är inget som är kvar. 
Det funkar att räkna totala antalet annonser. Det är när man ska räkna antalet annoner i subkategorierna som jag bara får värdet noll.

SQL: Kontakt

smclads
  \- id
  \- memid
  \- category
  \- validate
  \- date
osv

smclcategory
  \- id
  \- category
  \- pid

När man listar kategorierna, så har subkategorierna samma värde som toppkategoriets id.
Alltså:

id        category      pid

1    &#0124;     Säljes      &#0124;  0
2    &#0124;     köpes       &#0124;  0
3    &#0124;     Skänkes     &#0124;  0
4    &#0124;     Säljes_båt  &#0124;  1
5    &#0124;     Köpes_båt   &#0124;  2
6    &#0124;     Skänkes_båt &#0124;  3
7    &#0124;     Köpes_eka   &#0124;  2
8    &#0124;     Köpes_motor &#0124;  2

Pid 0 är en toppkategori alltså.

Permalänk: https://www.webforum.nu/p/260571

## #16 — Inferis, 2001-03-05T16:44Z

Att det ska vara så pillemariskt!!!
Får inte till det!

Permalänk: https://www.webforum.nu/p/260572

## #17 — LarsG, 2001-03-05T19:36Z

Hur ser din kod ut nu? Använder du group by eller inte?

Permalänk: https://www.webforum.nu/p/260573

## #18 — Inferis, 2001-03-05T19:53Z

Det mesta av koden är som innan, använder numera

```
	smclquery1 = "SELECT COUNT(ads.id) AS counting,cats.category FROM smclads ads,smclcategory cats WHERE ads.category=cats.id GROUP BY cats.category"
```

Men får bara felmeddelandet:

ADODB.Recordset fel '800a0cc1' 

Objektet kunde inte hittas i mängden med det begärda namnet eller numret. 

meny_test.asp, line 85 

Line 85:

```
<a href="default.asp?action=badscat&catid=<%=samla_alla("cats.id")%>">&nbsp;&#149;&nbsp;<%=samla_alla("cats.category")%></font></a><font class="menyant"> (<%=samla_alla("counting")%> )
```

Permalänk: https://www.webforum.nu/p/260574

## #19 — LarsG, 2001-03-05T20:27Z

Om du vill ha med id i recordsetet så får du skriva såhär

```
smclquery1 = "SELECT COUNT(ads.id) AS counting,cats.category as category, cats.id as id FROM smclads ads,smclcategory cats WHERE ads.category=cats.id GROUP BY cats.category,cats.id"
```

Det där att du skriver

samla_alla("cats.category") är jag osäker på hur det fungerar. Om du använder as i selectsatsen så borde det inte vara något probelm att skriva 

```
<a href="default.asp?action=badscat&catid=<%=samla_alla("id")%>"> • <%=samla_alla("category")%></font></a><font class="menyant"> (<%=samla_alla("counting")%> )
```

Permalänk: https://www.webforum.nu/p/260575

## #20 — Inferis, 2001-03-05T21:25Z

Det funkar ju! Nästan... 

Nu skrivs det ut att det finns 1 annons i alla underkategorier, men det är fel. 

Hämtar den rätt data egentligen?
Kolla ovan hur min databas ser ut.

"smclads - category" ska ha samma värde som "smclcategory - pid".
Sen ska "smclcategory - pid" jämföras med "smclcategory - id" för att se vilken toppkategori den tillhör.

Jämför min db ovan. Alla underkategorier i "köpes" har "pid = 2" för att toppkategorin "Köpes" har "pid = 0 ".
Värdet "pid = 0" i smclcategory visar  att det är en toppkategori.

Nu har jag nog snurrat till det ordentligt! :OO

Permalänk: https://www.webforum.nu/p/260576

---

Tråden på webben: https://www.webforum.nu/amne/asp/8415-får-inte-till-det  
Nästa sida: https://www.webforum.nu/amne/asp/8415-får-inte-till-det/page2.md
