Just nu i M3-nätverket
Gå till innehåll

Count


Jonas Stenberg

Rekommendera Poster

Jonas Stenberg

Har fixat ett nyhetssystem där man skriver in nyheter och allt.. sen la jag dit en kommentar funktion också. Allt funkar perfekt men vill skriva ut hur många kommentarer det finns per nyhet.

Någon som vet hur man ska göra?

Skriv gärna ut hela koden.

Tack i förhand

MVG Jonas

 

Länk till kommentar
Dela på andra webbplatser

Hela koden var det :)

<%
Set Connect = Server.CreateObject("ADODB.Connection")
' Koppling
strSQL = "SELECT COUNT(*) FROM Nyheter WHERE ID='[b]4[/b]'"
Set objRS = Connect.Execute(strSQL)
Antal = objRS(0)
Set objRS = Nothing
Connect.Close
%>
Det finns <b><%=Antal%></b> stycken kommentarer!

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Jo men sql-koden är ju helt beroende av hur han lagrar sina nyheter! I inlägget anges inget, så även antagandet att det är i en sql-databas är osäkert...

 

Länk till kommentar
Dela på andra webbplatser

Jonas Stenberg

ok. har lagt in koden du gav mig och jag ändrade '4' till "& Request.Querystring("id") &"

men.. då kom det här felet upp:

Typblandningsfel i villkorsuttryck.

Why is that so? :)

 

 

Länk till kommentar
Dela på andra webbplatser

Det stämmer, MD! Jag skulle bara visa hur man sedan fick det hela i en variabel och skriver ut det.

 

Jag hoppas inte att du tycker jag är en besserwisser. Beklagar i så fall det.

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

SQL-satsen skall vara:

strSQL = "SELECT COUNT(*) FROM Nyheter WHERE ID='" & Request.QueryString("ID") & "'"

eller

strSQL = "SELECT COUNT(*) FROM Nyheter WHERE ID=" & Request.QueryString("ID")

 

Beroende på vilken datatyp ID är...

 

Länk till kommentar
Dela på andra webbplatser

Jonas Stenberg

ah. såg fel.. det här var felmedlandet som kom upp:

Åtgärden är inte tillåten när objektet är stängt.

 

strSQL = "SELECT COUNT(*) FROM Nyheter WHERE ID='" & Request.QueryString("ID") & "'"

Set objRS = Connect.Execute(strSQL)

Antal = objRS(0)

Set objRS = Nothing

Connect.Close

 

Det är på Set objRS = Connect.Execute(strSQL) som det står 'objektet är stängt'

[inlägget ändrat 2002-12-25 16:48:51 av Jonas Stenberg]

Länk till kommentar
Dela på andra webbplatser

Det fungerar hos mig!

Vilken rad kom det på, Jonas?

 

Är det den enda koden på sidan? Förmodligen har du någonting annat på din sida som förvillar den...

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Jonas Stenberg

stämmer.. jag la in koden mellan.

<%Do until RecSet.EOF%>

 

Här raddas nyheterna upp.

Här är länken till kommentarerna

Här la jag koden

 

<%

RecSet.MoveNext

loop

%>

 

 

Länk till kommentar
Dela på andra webbplatser

Skulle du vilja klistra in hela koden?

 

Problemet ligger på ett objekt som är stängt!

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Jonas Stenberg

<font size="2" color="FF9900"><b>Nyheter</b></font><% if session("behorighet") > "1" then %>

- <a href="?go=nyheter&show=ad"><b>Lägg till nyhet</b></font></a>

<%end if%><br><br>

<table>

<td>

<% if Request.Querystring("go") = ("nyheter") and Request.Querystring("show") = ("edit") then %>

<b>Ändra nyheten</b><br><br>

<a href="default.asp?go=nyheter">Tillbaka</a>

<%

file = Server.MapPath("db/db.mdb")

 

Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file

 

Set RecSet = Server.CreateObject("ADODB.Recordset")

Visa = "SELECT * FROM nyheter where ID = " & Trim(Request.QueryString("editID")) & " "

RecSet.Open Visa, Connect %>

<form name="news" action="admin/Editnyhet.asp" method="post">

<input type="hidden" name="editID" value="<%=Recset("ID")%>">

<b>Text:</b><br>

<textarea name="text" style="overflow-y : visible; overflow-x : visible; width: 340; height: 100;"><%=RecSet("text")%></textarea><br><br>

<b>Länkbeskrivning:</b><br>

<input type="text" name="linkbeskrivning" size="40" value="<%=Recset("linkbeskrivning")%>"><br>

<b>Länkar:</b><br>

<input type="text" name="link" value="<%=Recset("link")%>" size="40"><br><br>

<input type="submit" name="skicka" value="Ändra">

</form>

 

 

<% elseif Request.Querystring("go") = ("nyheter") and Request.Querystring("show") = ("ad") then %>

<b>Lägg till nyhet</b><br><br>

<a href="default.asp?go=nyheter">Tillbaka</a>

<form name="edit" action="admin/adnyhet.asp" method="post">

<input type="hidden" name="namn" value="<% =session("username") %>">

<b>Text:</b><br>

<textarea name="text" style="overflow-y : visible; overflow-x : visible; width: 340; height: 100;"></textarea><br><br>

<b>Länkbeskrivning:</b><br>

<input type="text" name="linkbeskrivning" size="40"><br>

<b>Länkar:</b><br>

<input type="text" name="link" value="" size="40"><br><br>

<input type="submit" name="skicka" value="Lägg till">

</form>

 

 

<% elseif Request.Querystring("go") = ("nyheter") then %>

 

<%

IntSida = Trim(Request.QueryString("page"))

 

If IntSida = "" Then

 

IntSida = 1

 

Else

 

IntSida = Cint(IntSida)

 

End If

 

file = Server.MapPath("db/db.mdb")

 

Set Connect = Server.CreateObject("ADODB.Connection")

Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file

 

Set RecSet = Server.CreateObject("ADODB.Recordset")

Visa = "SELECT TOP 40 * FROM nyheter ORDER BY ID DESC"

RecSet.Open Visa, Connect, 3,1

RecSet.PageSize = 10

RecSet.AbsolutePage = IntSida

 

If RecSet.EOF = true Then

 

Response.Write("<b> Inga Poster Lagrade I Databasen.</b><br>")

 

End If

 

 

Do until RecSet.EOF Or IntAntal > RecSet.PageSize

 

IntAntal = IntAntal + 1

%>

<b><a href="?go=medlemmar&show=yes&id=<%=Recset("namn")%>"><font color="#969491"><%=Recset("namn")%></a> | <%=Recset("datum")%></b></font><br>

<%=Replace(RecSet("text"),vbCrlf,"<br>")%>

<% if recset("link") <> "" then %>

<table cellpadding="0" cellspacing="0" border="0">

<tr>

<td valign="top"><hr width="200" size="1" align="left" color="5a5a5a" noshadow></td>

</tr>

<tr>

<td valign="top"><i>Länkar</i></td>

</tr>

<tr>

<td valign="top"><a href="<%=Recset("link")%>" target="newFrame"><%=Recset("linkbeskrivning")%></a> - <%=Recset("link")%></td>

</tr>

</table>

<%End If%>

<% if session("behorighet") > "1" then %><br>

<a href="?go=nyheter&show=edit&editID=<%=recset("id")%>"><b>(Ändra</a>,</b> <a href="admin/delNyhet.asp?delId=<%=recset("id")%>" onClick="return confirm('Tryck OK om du vill ta bort.')"><b>Ta bort</a>)</b>

<%end if%><br><br>

<a href="default.asp?go=kommentarer&id=<% =RecSet("ID") %>">Skriv kommentar</a>

<%

Set Connect = Server.CreateObject("ADODB.Connection")

 

' Koppling

strSQL = "SELECT COUNT(*) FROM kommentarer WHERE ID='" & Request.QueryString("ID") & "'"

Set objRS = Connect.Execute(strSQL)

Antal = objRS(0)

Set objRS = Nothing

Connect.Close

%>

Det finns <b><%=kommentarer%></b> stycken kommentarer!

<br>

<hr width="500" size="2" align="left" color="5a5a5a" noshadow>

<br>

<%

RecSet.MoveNext

loop

%>

 

<%

If RecSet.PageCount > 1 Then

 

For I = 1 To RecSet.PageCount

 

If I <> IntSida Then

 

Response.Write("Page:<b> <A href='?go=nyheter&page=" & I & "'>" & I & "</A> ")

 

Else

 

Response.Write(I & " ")

 

End If

 

Next

 

End If

 

RecSet.Close

 

Connect.Close

 

%>

 

<% end if %>

</td>

</table>

 

Länk till kommentar
Dela på andra webbplatser

Testa:

<font size="2" color="FF9900"><b>Nyheter</b></font><% if session("behorighet") > "1" then %>
- <a href="?go=nyheter&show=ad"><b>Lägg till nyhet</b></font></a>
<%end if%><br><br>
<table>
<td>
<% if Request.Querystring("go") = ("nyheter") and Request.Querystring("show") = ("edit") then %>
<b>Ändra nyheten</b><br><br>
<a href="default.asp?go=nyheter">Tillbaka</a>
<% 
file = Server.MapPath("db/db.mdb")

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file 

Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM nyheter where ID = " & Trim(Request.QueryString("editID")) & " "
RecSet.Open Visa, Connect %>
<form name="news" action="admin/Editnyhet.asp" method="post">
<input type="hidden" name="editID" value="<%=Recset("ID")%>">
<b>Text:</b><br>
<textarea name="text" style="overflow-y : visible; overflow-x : visible; width: 340; height: 100;"><%=RecSet("text")%></textarea><br><br>
<b>Länkbeskrivning:</b><br>
<input type="text" name="linkbeskrivning" size="40" value="<%=Recset("linkbeskrivning")%>"><br>
<b>Länkar:</b><br>
<input type="text" name="link" value="<%=Recset("link")%>" size="40"><br><br>
<input type="submit" name="skicka" value="Ändra">
</form>


<% elseif Request.Querystring("go") = ("nyheter") and Request.Querystring("show") = ("ad") then %>
<b>Lägg till nyhet</b><br><br>
<a href="default.asp?go=nyheter">Tillbaka</a>
<form name="edit" action="admin/adnyhet.asp" method="post">
<input type="hidden" name="namn" value="<% =session("username") %>">
<b>Text:</b><br>
<textarea name="text" style="overflow-y : visible; overflow-x : visible; width: 340; height: 100;"></textarea><br><br>
<b>Länkbeskrivning:</b><br>
<input type="text" name="linkbeskrivning" size="40"><br>
<b>Länkar:</b><br>
<input type="text" name="link" value="" size="40"><br><br>
<input type="submit" name="skicka" value="Lägg till">
</form>


<% elseif Request.Querystring("go") = ("nyheter") then %>

<%
IntSida = Trim(Request.QueryString("page"))

If IntSida = "" Then

IntSida = 1

Else

IntSida = Cint(IntSida) 

End If

file = Server.MapPath("db/db.mdb")

Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq="& file 

Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT TOP 40 * FROM nyheter ORDER BY ID DESC" 
RecSet.Open Visa, Connect, 3,1
RecSet.PageSize = 10
RecSet.AbsolutePage = IntSida

If RecSet.EOF = true Then

Response.Write("<b> Inga Poster Lagrade I Databasen.</b><br>")

End If


Do until RecSet.EOF Or IntAntal > RecSet.PageSize

IntAntal = IntAntal + 1
%>
<b><a href="?go=medlemmar&show=yes&id=<%=Recset("namn")%>"><font color="#969491"><%=Recset("namn")%></a> | <%=Recset("datum")%></b></font><br>
<%=Replace(RecSet("text"),vbCrlf,"<br>")%>
<% if recset("link") <> "" then %>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td valign="top"><hr width="200" size="1" align="left" color="5a5a5a" noshadow></td>
</tr>
<tr>
<td valign="top"><i>Länkar</i></td>
</tr>
<tr>
<td valign="top"><a href="<%=Recset("link")%>" target="newFrame"><%=Recset("linkbeskrivning")%></a> - <%=Recset("link")%></td>
</tr>
</table>
<%End If%>
<% if session("behorighet") > "1" then %><br>
<a href="?go=nyheter&show=edit&editID=<%=recset("id")%>"><b>(Ändra</a>,</b> <a href="admin/delNyhet.asp?delId=<%=recset("id")%>" onClick="return confirm('Tryck OK om du vill ta bort.')"><b>Ta bort</a>)</b>
<%end if%><br><br>
<a href="default.asp?go=kommentarer&id=<% =RecSet("ID") %>">Skriv kommentar</a>
<%
strSQL = "SELECT COUNT(*) FROM kommentarer WHERE ID='" & Request.QueryString("ID") & "'"
Set objRS = Connect.Execute(strSQL)
Antal = objRS(0)
Set objRS = Nothing
Connect.Close
%>
Det finns <b><%=Antal%></b> stycken kommentarer!
<br>
<hr width="500" size="2" align="left" color="5a5a5a" noshadow>
<br>
<% 
RecSet.MoveNext
loop
%>

<%
If RecSet.PageCount > 1 Then 

For I = 1 To RecSet.PageCount

If I <> IntSida Then 

Response.Write("Page:<b> <A href='?go=nyheter&page=" & I & "'>" & I & "</A> ")

Else 

Response.Write(I & " ")

End If

Next

End If

RecSet.Close

Connect.Close


end if %>
</td>
</table>

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Jonas Stenberg

ah,hm.. nu funkar det, jag som hade klantat mig lite och skrivit fel på ID grejen, men i vilket fall så skriver den inte ut <%=Kommentarer%>.

Blir ingenting där jag skriver det.

Why?

[inlägget ändrat 2002-12-25 17:55:29 av Jonas Stenberg]

[inlägget ändrat 2002-12-25 18:23:33 av Jonas Stenberg]

Länk till kommentar
Dela på andra webbplatser

Knepigt. Vad är ID för datatyp?

Har du testat utan enkelfnuttar?

strSQL = "SELECT COUNT(*) FROM kommentarer WHERE ID=" & Request.QueryString("ID")

Du kan också testa att byta ut Request.QueryString("ID") mot cint(request.querystring("ID"))

 

Det funkar faktiskt på min dator...

Är du säker på att Request.QueryString("ID") innehåller något?

Testa att skriva

%><%=Request.QueryString("ID")%><%

för att se om det innehåller något.

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Jonas! :-)

 

Skriv <%=Antal%> istället!

 

Hoppas det fungerar nu!

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Jonas Stenberg

hah =) ledsen asså.. men, vill koppla den till db.mdb / kommentarer / kommentarer. alltså en flik i en tabell. tabellen heter kommenterar och fliken heter också kommentarer :P

Men det står 0 på alla just nu

http://217.209.193.184/clandase/default.asp?go=nyheter

 

Hm.. svårt och förklara allt såhär. du har inte icq eller msn?

[inlägget ändrat 2002-12-25 18:31:00 av Jonas Stenberg]

Länk till kommentar
Dela på andra webbplatser

Men du har ingen ?id=x i url:en ju!

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Jonas Stenberg

hehe :)

<%

strSQL = "SELECT COUNT(*) FROM kommentarer WHERE newsID='" & Request.QueryString("ID") & "'"

Set objRS = Connect.Execute(strSQL)

Antal = objRS(0)

Set objRS = Nothing

 

%>

(<b><%=Antal%></b>)

är koden just nu..

går det inte och lösa på ngt annat sätt och sätta ID på nyheten i databaskopplingen ist?

Tack Tack och åter Tack för din hjälp

 

Länk till kommentar
Dela på andra webbplatser

Hej! :)

Jag har msn (c4kristoffer@hotmail.com). Dock kommer snart en kompis och jag är antagligen inte online på ett tag.

 

Request.QueryString("ID") kan du försöka byta ut mot något annat. Något som utmärker just den nyheten.

Du har ett recordset öppet ser jag. Kan du inte testa att ändra Request.QueryString("ID") mot RecSet("id")?

 

Hur är annars dina databaser uppbyggda?

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Jonas Stenberg

Hehe, du är en ängel grabben :)

Allt funkar finfint nu, tackar och bugar..

bytte ut request.querystring mot recset bara. :)

 

Länk till kommentar
Dela på andra webbplatser

Kul att det löste sig! Lycka till med sajten som för övrigt var bra!

God Jul!

 

/ Kristoffer

Windows kunde inte hitta något tangentbord. Tryck F1 för att försöka igen eller F2 för att avbryta.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...