Ir para conteúdo

POWERED BY:

Arquivado

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

webdesign

[Resolvido] comentarios

Recommended Posts

tenho no meu site ultimas noticias e queria colocar em cada noticia o numero de pessoas que comentaram aquela noticia como faço issu?!?!?

 

 

<?php
$posts = mysql_query("SELECT
post_id,
post_status,
data,
autor,
email,
site,
comentario
FROM c_comments ORDER BY data DESC LIMIT 3")
       	or die(mysql_error());
if(@mysql_num_rows($posts) <= '0'){
  echo "nao existe";	
}else{


	while($res_posts=mysql_fetch_array($posts)){

	$post_id = $res_posts[0];
	$post_status = $res_posts[1];
	$data = $res_posts[2];
	$autor = $res_posts[3];
	$email = $res_posts[4];
	$site = $res_posts[5];
	$comentario = $res_posts[6];

?>

<?php
$coments= mysql_query("SELECT titulo FROM up_posts WHERE id = '$post_id'")
or die(mysql_error());
if(@mysql_num_rows($coments) == '0'){
echo "";
}else{
 while($res_coments=mysql_fetch_array($coments)){
 $titulo_do_post = $res_coments[0];
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos supor que a consulta em que você puxa os comentários está na variável comments:

$numero_comments = mysql_num_rows($comment);

echo $numero_comments;

Prontim.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao está facil . .a consulta onde puxo os comentarios,fiz um echo na $comentario que está na tabela c_comments

e assim fiz um echo no comentario...

só que queria colocar o titulo entao crie $pega_coments que vai buscar o titulo a tabela up_posts

<?php
$posts = mysql_query("SELECT
post_id,
post_status,
data,
autor,
email,
site,
comentario
FROM c_comments ORDER BY data DESC LIMIT 3")
       	or die(mysql_error());
if(@mysql_num_rows($posts) <= '0'){
  echo "nao existe";	
}else{

	while($res_posts=mysql_fetch_array($posts)){

	$post_id = $res_posts[0];
	$post_status = $res_posts[1];
	$data = $res_posts[2];
	$autor = $res_posts[3];
	$email = $res_posts[4];
	$site = $res_posts[5];
	$comentario = $res_posts[6];

$pega_coments= mysql_query("SELECT titulo FROM up_posts WHERE id = '$post_id'")
or die(mysql_error());
if(@mysql_num_rows($pega_coments) == '0'){
echo "";
}else{
 while($res_pega_coments=mysql_fetch_array($pega_coments)){
 $titulo_do_post = $res_pega_coments[0];
?>

o codigo inteiro é assim

mas agora para defenir que aquele determinado post tem 2 comentarios nao sei fazer issu

Compartilhar este post


Link para o post
Compartilhar em outros sites

melhor seria se você usasse relacionamento entre as tabelas, ficaria mais fácil, e economizaria sql... estuda sql, garanto que você não vai se arrepender, experiência própria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

[/code]

 

eu já consegui fazer a contagem mas agora tenho o problema que ele soma o total eu quero que na noticia x tenha 2 comentarios e que na outra que tenha 0

 

como faço issu

<?php

$result = mysql_query("SELECT * FROM c_comments  ");
$num_rows = mysql_num_rows($result);

echo "$num_rows Rows\n";

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

É o que disse. De uma forma ou outra, dá um jeito de pegar o ID do post, e com o ID do post, usa no WHERE. (WHERE id_post = '$id_post'

<?php

$result = mysql_query("SELECT * FROM c_comments WHERE id = '$post_id'");
$num_rows = mysql_num_rows($result);


?>

eu fiz assim nao resulta aparece o resultado 0 na tabela c_comments tenho

    id
   	post_id
	post_status
	data
	autor
	email
	site
	comentario

 

nao sei como fazer para aparecer a contagem certa em cada noticia pode exemplificar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que ter uma tabela que guarda os comentarios.

Na tabela dos comentários, tem que ter uma coluna que vai ser responsável por guardar o id do post.

Na notícia, você faz uma consulta, para pegar a notícia... o conteúdo dela e etc... pega tbm o ID que vier na consulta das notícias.

Faz uma nova consulta à tabela dos comentários, e coloca um WHERE id_post = '$id_da_noticia'.

ou...

Depois, na hora de listar os comentários, coloca um mysql_num_rows na consulta dos comentários. Assim, ao mesmo tempo você terá o numero de comentários

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você tem que ter uma tabela que guarda os comentarios.

Na tabela dos comentários, tem que ter uma coluna que vai ser responsável por guardar o id do post.

Na notícia, você faz uma consulta, para pegar a notícia... o conteúdo dela e etc... pega tbm o ID que vier na consulta das notícias.

Faz uma nova consulta à tabela dos comentários, e coloca um WHERE id_post = '$id_da_noticia'.

ou...

Depois, na hora de listar os comentários, coloca um mysql_num_rows na consulta dos comentários. Assim, ao mesmo tempo você terá o numero de comentários

 

já está foi muito facil

lol

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido?

sim

 

<?php
$top = mysql_query("SELECT id, titulo FROM up_posts ORDER BY visitas DESC LIMIT 10")
       	or die(mysql_error());
if(@mysql_num_rows($top ) <= '0'){
  echo "nao existe posts no top 10 ";	
}else{

$numero = '0';

	while($res_top =mysql_fetch_array($top)){

	$id_top  = $res_top [0];
	$titulo_top = $res_top [1];
	$numero++;


$contagem_comentarios = mysql_query("SELECT * FROM c_comments WHERE post_id = '$id_top'");
$num_rows = mysql_num_rows($contagem_comentarios);
?> 

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.