Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Mauriciodellafina

contar registros em comentários

Recommended Posts

Esbarrei em um problema,não consigo contar os comentário relacionados a um conjunto de noticias, por exemplo:

 

noticia 1......(2) comentários

noticia 2......(0) comentários

noticia 3......(1) comentário

.....

 

Consegui fazer com um link para página de detalhes, ou seja...quando eu clico na noticia para mostrar na integra eu consigo contar os comentários.

Assim:

 

Titulo da notícia

(3) comentários

 

Notícia na integra......

 

 

Segue abaixo o código que funcionou, se alguém souber como fazer e puder dar uma dica eu agradeço.

 

<%@LANGUAGE="VBSCRIPT"%>
<!--#include file="../Connections/MA.asp" -->
<%
Dim Recordset1__filtrocoment
Recordset1__filtrocoment = "1"
If (Request.QueryString("cod")   <> "") Then 
  Recordset1__filtrocoment = Request.QueryString("cod")  
End If
%>
<%
Dim Recordset1
Dim Recordset1_numRows


Set Recordset1 = Server.CreateObject("ADODB.Recordset")
Recordset1.ActiveConnection = MM_MA_STRING
Recordset1.Source = "SELECT COUNT(*) as total  FROM noticia LEFT JOIN  coment_noticia ON noticia.cod  = coment_noticia.codI  WHERE coment_noticia.codI = " + Replace(Recordset1__filtrocoment, "'", "''") + ""
Recordset1.CursorType = 0
Recordset1.CursorLocation = 2
Recordset1.LockType = 1
Recordset1.Open()

Recordset1_numRows = 0
%>
<%
Dim Recordset2__MMColParam
Recordset2__MMColParam = "1"
If (Request.QueryString("cod") <> "") Then 
  Recordset2__MMColParam = Request.QueryString("cod")
End If
%>
<%
Dim Recordset2
Dim Recordset2_numRows

Set Recordset2 = Server.CreateObject("ADODB.Recordset")
Recordset2.ActiveConnection = MM_MA_STRING
Recordset2.Source = "SELECT *  FROM noticia  WHERE cod = " + Replace(Recordset2__MMColParam, "'", "''") + ""
Recordset2.CursorType = 0
Recordset2.CursorLocation = 2
Recordset2.LockType = 1
Recordset2.Open()

Recordset2_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
Recordset2_numRows = Recordset2_numRows + Repeat1__numRows
%>
<html>
<head>
<title>Documento sem título</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>

<% 
While ((Repeat1__numRows <> 0) AND (NOT Recordset2.EOF)) 
%>
(<%=(Recordset1.Fields.Item("total").Value)%>)- <%=(Recordset2.Fields.Item("cod").Value)%> - <%=(Recordset2.Fields.Item("titulo").Value)%><br>
<% 
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  Recordset2.MoveNext()
Wend
%>
<br>
<p></p>
</body>
</html>
<%
Recordset1.Close()
Set Recordset1 = Nothing
%>
<%
Recordset2.Close()
Set Recordset2 = Nothing
%>

O Banco de dados é Access

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu apenas faço um select baseado no ID do artigo,

 

strSQL4 = "select * from tComments where fArticle = '" & sID & "'"

 

onde existe uma tabela de comentario, se kiser tenho um sistema de blog , ótima para didática, se iser pode estudá-lo, me mande um MP k te passo ele...

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu apenas faço um select baseado no ID do artigo,

 

strSQL4 = "select * from tComments where fArticle = '" & sID & "'"

 

onde existe uma tabela de comentario, se kiser tenho um sistema de blog , ótima para didática, se iser pode estudá-lo, me mande um MP k te passo ele...

 

Eu tenho duas tabelas nesse sistema...uma para as noticias e outra para comentário...

estão vinculadas pelos campos...noticia.cod e coment_noticia.codI, tentei fazer do jeito que me orientou mas não deu certo.

 

mas deixa ver se entendi antes de mais nada:

no exemplo que passou tComments é a tabela de comentários; fArticle é o campo na tabela de comentário e sID é o campo na tabela de artigos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

sID é o valor do ID para fArticle

fArticle é o campo referente ao ID (codigo da maensagem) da outra tabela de mensagens (tabela do artigo)

Compartilhar este post


Link para o post
Compartilhar em outros sites

sID é o valor do ID para fArticle

fArticle é o campo referente ao ID (codigo da maensagem) da outra tabela de mensagens (tabela do artigo)

 

Tentei fazer novamente desse jeito, mas não deu certo...vou colocar umas imagens, quem sabe você tem uma luz pra me ajudar nisso.

 

banco de dados:

tabela notícia:

Imagem Postada

 

Tabela comentário da notícia (coment_noticia)

Imagem Postada

 

O que esta funcionando na contagem de comentários é assim:

 

Na página inicial tem uma seção das notícias com um link para detalhes desta noticia:

Imagem Postada

 

Estando lá em detalhes, beleza esta contando os comentários certinho:

 

Imagem Postada

 

Mas eu queria que também fosse mostrado na seção da página principal, exemplo:

Imagem Postada

 

já testei com:

SELECT count(codI) as total
FROM coment_noticia inner join noticia....

<%=rs.recordcount%>, <%=total%>, etc..

 

se puder ajudar obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

fza assim, tenho um code k irá te ajudar , me manda um mp com teu email k te passo para fiz didáticos, mas tenta isso

 

<%
strSQL4 = "select * from tComments where fArticle = '" & sID & "'"
Set rs4 = Server.CreateObject("ADODB.Recordset")
rs4.Open strSQL4, conn, adOpenStatic, adLockReadOnly, adCmdText
	If not rs4.recordcount = 0 then
	sCom = rs4.recordcount
	Else
	sCom = "0"
	End if

	response.write sCom

rs4.close
set rs4 = nothing
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.