Ir para conteúdo
Fórum Script Brasil
  • 0

Comentário Em Notícia Quase Pronto, Faltando...


pedro555

Pergunta

Bom dia,

Eu quero que os usuários do meu site comentem as matérias.

Então criei uma tabela comentarios no mysql, a tabela noticias já existe.

Ai eu crio um pequeno formulário, onde o usuário digita o nome, estado, email e o comentário.

Enviando para a tabela comentarios, mas como vou associar o comentário com a noticia que foi comentada??

Valeu

Link para o comentário
Compartilhar em outros sites

17 respostass a esta questão

Posts Recomendados

  • 0

coloca no linda da noticia uma passagem de parametro com o id dela.. e na tabela de comentarios você coloca um campo 'idnoticia' q vai ser o vinculo entre elas.. ai na hora q você der um select nos comentarios baseados nakela noticia você vai dar o select na tabela comentarios 'where idnoticia=$id ( $id veio por passagem de parametro atravez de um outro link como por exemplo 'exibir comentarios'

Link para o comentário
Compartilhar em outros sites

  • 0

Óbvio... você precisa que a chave primária da tabela que guarda as notícias seja guarda na tabela que vai conter os comentários... assim você vai conseguir através de uma notícia pegar os comentários referentes a ela na outra tabela...

Como você faz pra descobrir que notícia abrir? Em algum ponto tem o ID da notícia, então pode aproveitar o mesmo parâmetro pra pegar os comentários na outra tabela...

Link para o comentário
Compartilhar em outros sites

  • 0

certo... estou começando a entender melhor..rsrsrs

então vai ser assim:

tabela comentário - nome, estado, email, comentário e id_noticias

o id da noticia precisa estar com o mesmo nome nas duas tabelas? pois na tabela noticias esta simplesmente 'id'.

E como vou 'linkar' o 'id_noticias' da tabela comentarios com o 'id' da tabela noticias??

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

O nome dos campos na tabela não interfere, em um pode estar "euaindaosounoob" e na outra "issoehfaltadebomsenso", se você souber que o "euaindaosounoob" se liga ao "issoehfaltadebomsenso" é a conta...

Agora quanto a sua pergunta "

E como vou 'linkar' o 'id_noticias' da tabela comentarios com o 'id' da tabela noticias??", eu te faço outra, você tem uma página que exibe as notícias, correto? Então como você faz pra saber que notícia é pra exibir? Essa é a resposta pra sua pergunta, pois o que você usa pra selecionar a notícia à exibir, vai ser o mesmo dado que você vai utilizar para pegar os comentários...

Link para o comentário
Compartilhar em outros sites

  • 0

Então a tabela comentarios vai ter um id_noticias.

Este id_noticias é setado como auto incrementar certo?

A cada comentário esse id_noticias vai subindo 1 a 1, assim como o id_comentarios.

Quando exibir os comentários, vai exibir todos que tiverem armazenados se eu for exibir como referencia o id_noticias.

Ai todos os comentários de todas as noticias irá mostrar em cada página da noticia.

Alguma coisa esta errada, hehehe.

E agora ESerra?

Link para o comentário
Compartilhar em outros sites

  • 0

O que eu sempre aconselho as pessoas que estão desenvolvendo algo é pensar de forma lógica, a pessoa até pode não saber lógica de programação, mas a lógica do dia-a-dia, pelo menos, ela deve ter...

Claro que o id_noticias que fica na tabela comentarios não vai ser auto increment, a função desse campo é apenas marcar a que notícia pertence o comentário...

Assim, por exemplo, se a sua tabela comentarios tiver os seguintes campos (id é a chave primário):

id-id_noticias-comentario

Ai ser preenchido via ficar assim (exemplo hipotético):

1-10-dfdfgfdgf

2-10-dgfgvbcbcvbcvbv

3-4-cvbvdfhgfhdgh

4-2-fgdfgdfgfdg

5-15-dfdgfdfgfg

6-10-fgdfgfgf

Ai no caso está sendo guardado um comentário para a notícia 2, 4 e 15, e 3 comentários para a notícia 10... é assim que essa tabela vai funcionar...

Link para o comentário
Compartilhar em outros sites

  • 0

opaa, demorei mas agora entendi como deve funcionar.

Veja se estou pensando certo.

Na tabela comentarios, tem um item id_noticias sem ser auto increment.

E no formulário, irei fazer uma busca para saber qual id da tabela noticia é, após achar o id,

eu pego esse id e insiro em id_noticias da tabela comentários.

E para mostrar os comentários da noticia, basta fazer uma busca no id_noticias da tabela comentarios e pegar o id_noticias

e fazer uma consulta na tabela noticias.

Esta certo?? acordei agora e pensei nisso, heehehe.

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

tipo tu faz assim

<?php
// AQUI TU FAZ UMA BUSCA NA NOTICIA QUE VAI APARECER
$sql = "SELECT * FROM tbl_noticia WHERE ID='".$id."'";
$query = mysql_query($sql);

// AQUI ELE RETORNA SE ENCONTRO ALGUMA NOTICIA
if(!(mysql_num_rows($query))) {

    // SE ELE NÃO ECONTRAR NENHUMA NOTICIA ELE IMPRIME UMA MSG
    echo "Nunhuma noticia encontrada!";

} else {

    // SE ELE ENCONTRA ALGUMA NOTICIA IMPRIME ELA
    while($not = mysql_fetch_object($query)) {

       echo $not->Noticia;

       // AQUI ELE VAI BUSCAR OS COMENTARIOS
       $sqlC = "SEELCT * FROM tbl_comentarios WHERE IdNoticia='".$id."'";
       $queryC = mysql_query($sqlC);

       // VERIFICA SE ENCONTRO ALGUM COMENTARIO
       if(!(mysql_num_rows($queryC))) {

            // SE NÃO TIVER COMENTARIOS IMPRIME UMA MSG
            echo "Nunhum comentario!";

       } else {

            // CASO TENHA COMENTARIO MOSTRA ELES
            while(mostC = mysql_fetch_object($queryC)) {

                 echo $mostC->Comentario;

            }

       }

   }

}
?>

Mas para fazer isso tu tem que ter um campo dentro da tabela comentarios

que informa o id da noticia para qual foi o comentario.

É isso ai espero que tenha entendido

Editado por Diego.G.A
Link para o comentário
Compartilhar em outros sites

  • 0

Entendi o que você fez ai.

Eu já tenho uma página gerada onde mostra a noticia.

E também já coloquei um campo na tabela comentario relacionado a tabela noticia (id_noticias)

Agora na hora de inserir um comentário, o que falta é ligar os 2.

Eu não preciso pegar o id da noticia que esta na página e depois inserir no campo id_noticias?

Ai para mostrar os comentários, eu pego o id da noticia e faço uma busca na tabela comentarios pelo id_noticias??

E agora?rsrsrs to acertando?? valeu pela ajuda ae!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Diego,

Estou ainda tentando resolver esse problema.

veja o que eu fiz:

<?
        include ("config.php");
        $id = $_GET["id"];
        if($_GET["postar"] == "ok"){
          $inserir = mysql_query("INSERT INTO comentarios (nome, email, comentario, id_noticias) VALUES ('$nome','$email','$comentario','$id_noticias')");
          echo "Esta notícia foi comentada com sucesso";
        }
        
        ?>
        <div id="formulario">
            <div id="aba">Comentar esta notícia</div>
              <form name="form" method="post" action="comentar.php">
                        <input type="hidden" name="id_noticias" />
                        <div id="form_nome">Seu nome: <input class="typetext" type="text" name="nome" id="nome" size="40">
             </div>
            <div id="form_nome">Seu e-mail: <input class="typetext" type="text" name="email" id="email" size="40">
            </div>
            <div id="form_nome">Coment&aacute;rio:<br />
              <label>
              <textarea name="comentario" id="textarea" cols="45" rows="5"></textarea>
              </label>
            </div>
              <div id="form_nome" align="center"><input type="submit" name="Submit" value="Indicar"></div></form>
        </div>

Isso é dentro da página aonde eu faço um selec para mostrar a noticia.

Como eu vou inserir o id da noticia no campo (hidden) id_noticias???

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...