webForumDet fria alternativet

Count - räkna ut antalet poster

ASP

9 svar · 717 visningar · startad av sin_adec

Medlem sedan apr. 2002272 inlägg
Frågan#1

Hej
jag har en tabell som heter fotoalbum, där lagrar jag informationen om fotoalbumet.
däremot lagras informationen om bilderna i en tabell som heter bilder.

jag vill nu göra det möjligt för de som ska kolla in ett album att se antalet bilder i fotoalbumet och jag försökte mig på följande kod, men det fungerar inte.
jag får inget fel meddelande, utan där det ska stå antal bilder så står det bara 0, men jag vet att det finns bilder tilldelade ett visst fotoalbum.

Nedan hittar ni koden
--------------------

<%Session.Codepage = 65001
Response.CharSet = "utf-8"%>
<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db1.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
recset.CursorLocation = 3
recset.PageSize = 20
SQL = "Select * From fotogalleri"
RecSet.Open SQL, Connect, 3, 3
Dim count
sql2 = "SELECT * FROM bilder WHERE galleriid=" & recset("id")&""
Set rs = connect.execute(sql2,count)

%>

Antal bilder: <%=count%>

tack på förhand

Medlem sedan nov. 20051 317 inlägg
#2
SELECT COUNT(*) As Antal FROM bilder WHERE galleriid=" & recset("id")&""
Response.Write RecSet("Antal")

Så får du göra :)

Medlem sedan juni 20019 519 inlägg
#3

Eller bara RecSet.RecordCount()

Medlem sedan sep. 2004828 inlägg
#4

Ska inte innehållet i Recordsetet användas till något så ska du absolut köra med Count(*). Finns ingen anledning till att returnera ett helt recordset bara för att räkna antalet poster.

Medlem sedan apr. 2002272 inlägg
#5

Något jag inte förstår, när jag utesluter recset("id") från SQL2 och själv väljer att skriva in ett id nummer, exempelvis 18, så räknar den ut antalet bilder som tillhör fotoalbumet med id nr 18. Kod nedan

"SELECT COUNT(*) As Antal FROM bilder WHERE galleriid=18"

men det känns som om värdet i recset("id") liksom faller bort i koden nedan

"SELECT COUNT(*) As Antal FROM bilder WHERE galleriid=" & recset("id")&""

jag har dock testat med att bara skriva ut recset("id") på sidan bara för att se ifall det finns värde, vilket det gör.

Medlem sedan apr. 2002272 inlägg
#6

Jag tror dock att jag vet vad som är fel, anledningen till att jag kan se de olika fotoalbum är för att jag hämtar ut mer än en post ur

SQL = "Select * From fotogalleri"

Med tanke på att jag har en do until recset.eof så vet servern att den ska publicera fler poster.

medan
"SELECT COUNT(*) As Antal FROM bilder WHERE galleriid=" & recset("id")&""

hämtar bara information för ett fotoalbum och inte fler.

min fråga är; hur löser man det.
Medlem sedan dec. 2006382 inlägg
#7

Lägg

"SELECT COUNT(*) As Antal FROM bilder WHERE galleriid=" & recset("id")&""

...med tillhörande kodsnutt och utskrift i loopen som går igenom alla rader i recset.

Medlem sedan sep. 2004828 inlägg
#8

Vad är det du vill göra?

Vad tror du om
SQL = "SEELCT g.*, Count(b.galleriid) AS Antal FROM fotogalleri f LEFT JOIN bilder b ON f.id=b.galleriid"

Så har du bara en fråga också, kommer att bli mycket mer effektivt.

Medlem sedan apr. 2002272 inlägg
#9

Nedan har ni hela sidan
En vänlig själ som vill fylla i, det står helt stilla för mig.

<html>
<%Session.Codepage = 65001
Response.CharSet = "utf-8"%>
<% 
Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db1.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")
recset.CursorLocation = 3
recset.PageSize = 20
SQL = "Select * From fotogalleri"
RecSet.Open SQL, Connect, 3, 3

Dim count
sql2 = "SELECT COUNT(*) As Antal FROM bilder WHERE galleriid=" & recset("id")&""
Set rs = connect.execute(sql2,count)
antal = CLng(rs("antal"))
%>
<head>
	<title>min hemsida</title>

</head>
<div id="menu3">
				<p>
					<img src="image/2/arrow.gif" alt="" />
					<a href="">new photos</a>
					<img src="image/2/arrow.gif" alt="" />
					<a href="">most viewed photos</a>
					<img src="image/2/arrow_green.gif" alt="" />
					<span>top rated photos</span>
					<img src="image/2/arrow.gif" alt="" />
					<a href="">sort a-z</a>
				</p>
			</div>
<div id="middle2">
          <%
    '--------- sidindelning -------------------
Dim sida,rad

sida = Trim(Request.QueryString("sida"))
If sida = "" Then
sida = 1
End if
'recset.PageSize = 2
recset.AbsolutePage = sida 
rad=0%>
                      <%
dim i
i = 0

                
While Not recset.EOF and rad < recset.PageSize
rad = rad + 1

i = i + 1
if i = 1 then
 yes =  "<div class=""photo"">"
  yes2 = "<div class=""photos"">"
elseif i = 2 then
 yes = "<div class=""photo"">"
yes2 = "<div class=""photos"">"
elseif i = 5 then
 yes = "<div class=""photo_last"">"
 yes2 = "<div class=""photos2"">"
elseif i = 6 then
 yes = "<div class=""photo"">"
 yes2 = "<div class=""photos"">"
elseif i = 10 then
 yes = "<div class=""photo_last"">"
  yes2 = "<div class=""photos2"">"
elseif i = 11 then
 yes = "<div class=""photo"">"
 yes2 = "<div class=""photos"">"
 elseif i = 15 then
 yes = "<div class=""photo_last"">"
  yes2 = "<div class=""photos2"">"
  elseif i = 16 then
 yes = "<div class=""photo"">"
 yes2 = "<div class=""photos"">"
  elseif i = 20 then
 yes = "<div class=""photo_last"">"
  yes2 = "<div class=""photos2"">"
end if
%>
      <%=yes%>
<a href="#" onclick="fetch('featured_photogallery.asp?id=<%=recset("id")%>&topic=<%=recset("rubrik")%>', 'container_div')"><img src="/na/system/twice/upload_access.asp?mode=show&id=<%=recset("bild1")%>" alt="" width="180" height="180" /></a>
		<p><b><%=recset("rubrik")%></b></p>
		<div class="date">
			<p>date: <%=recset("datum")%></p>
		</div>
		<br />
		<%=yes2%>
			<p><%Response.Write rs("Antal")%>photos<%=recset("id")%></p>
		</div>
		</div>
	 
                        <%recset.Movenext
wend
%>
	  <div class="seperator">&nbsp;&nbsp;&nbsp;</div>
	  <div class="left">
		<p>
        <%
If recset.PageCount > 1 then

For i = 1 to recset.PageCount
If CLng(sida) = i  Then %>
<strong>&nbsp;&nbsp;<%= i %>&nbsp;&nbsp;</strong>&nbsp;&nbsp;
<% else %>
<a href="#" onclick="fetch('featured_photoalbum.asp?sida=<%= i %>', 'container_div')"><%= i %></a>&nbsp;&nbsp;&nbsp;
<%End If
Next

End If%>
		</p>
		<h1>WANT NEW FEATURES? <b>get pro account</b></h1>
		<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin 
		lectus. Vestibulum at elit eget ligula venenatis imperdiet. Pellentesque 
		habitant morbi tristique senectus et netus et malesuada fames ac turpis 
		egestas. Nunc id augue in augue consectetuer fringilla. Aenean vel dolor 
		vitae neque nonummy ultricies. Curabitur eleifend. Curabitur eu augue ut 
		arcu sodales dictum. Donec non lacus sollicitudin diam adipiscing 
		fringilla. Quisque ante. Praesent sollicitudin dolor eu justo. Proin 
		nunc. Aenean mi. Vestibulum diam eros, luctus id, eleifend et, gravida 
		eu, est. Curabitur at lectus eu nulla eleifend dapibus. Integer enim.</p>
	  </div>
	  <div class="right">
	  <form action="" method="post">
		<input name="userfile" type="file" size="47" />
		<p>choose album you want to upload this photograph to...</p>
		<select name="cars">
			<option value="">PUBLIC: &nbsp;Road Trip, Germany&nbsp;&nbsp; ( uploaded 
			21.06.2006, 13:22 )</option>
		</select>
		<br />
		<p>or create new album:
		<input type="checkbox" name="new" value="new" />
		<input type="text" name="new_name" size="36" />
		</p>
		<p>
		make photo accessible to:
		<input type="checkbox" name="new" value="new" />
        friends
		<input type="checkbox" name="new" value="new" />
        family
		<input type="checkbox" name="new" value="new" />
        all the other users</p>
		<input src="image/2/upload.gif" alt="Submit" name="submit" type="image" />
		<a href=""><img src="image/2/manage.gif" alt="Manage" /></a>
	  </form>
	  </div>
	  <br />
	  <div class="clear"></div>

	  
	  </div>
<body>

</body>
<%
Recset.close
Connect.close
set recset = nothing
Set connect = nothing
%>
</html>
Medlem sedan jan. 200554 inlägg
#10

__

__

513 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
366 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
366 ms — ändringar (db)