SELECT COUNT(*) As Antal FROM bilder WHERE galleriid=" & recset("id")&""
Response.Write RecSet("Antal")
Så får du göra :)
9 svar · 717 visningar · startad av sin_adec
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
SELECT COUNT(*) As Antal FROM bilder WHERE galleriid=" & recset("id")&""
Response.Write RecSet("Antal")
Så får du göra :)
Eller bara RecSet.RecordCount()
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.
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.
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.
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.
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.
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"> </div>
<div class="left">
<p>
<%
If recset.PageCount > 1 then
For i = 1 to recset.PageCount
If CLng(sida) = i Then %>
<strong> <%= i %> </strong>
<% else %>
<a href="#" onclick="fetch('featured_photoalbum.asp?sida=<%= i %>', 'container_div')"><%= i %></a>
<%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: Road Trip, Germany ( 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>