Ir para conteúdo

POWERED BY:

Arquivado

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

Mauriciodellafina

[Resolvido] Notícias com comentários - como fazer

Recommended Posts

Estou elaborando um site pelo Dreamweaver MX, orientado a projeto, pois sou iniciante e no momento ainda estou me familiarizando com a linguagem, porém tenho as seguintes dúvidas:

 

CASO

=====

1. Criei um banco de dados com duas tabelas, noticias e coment_noticias, vinculadas pelo campo “cod”;

2. Criei três página em ASP, sendo que a primeira índex.asp, que mostra a notícia parcialmente com um link “veja mais”; a segunda para receber as noticias e outra para cadastro das notícias;

3. A página recebe_noticias.asp, possui os campos: título, subtítulo, data, noticia, rodape e logo abaixo um formulário para receber comentários;

4. Para mostrar na página recebe_noticias.asp as informações da tabela noticias e coment_noticias, fiz um recordset com a seguinte linha:

 

SELECT *

FROM coment_noticia INNER JOIN noticia ON coment_noticia.codI=noticia.cod

WHERE noticia.cod=vai AND coment_noticia.codI=vai

 

Sendo que vai é uma variável que esta recebendo cod, chave primária da tabela noticia.

5. E funcionou muito bem, quando abro a página recebe_noticia ela mostra a notícia na integra, os comentários feitos e abaixo o formulário, que tbm já testei inserindo outros comentários e ele insere abaixo dessa notícia que estou lendo.

 

O PROBLEMA

===========

 

Quando eu cadastro uma nova notícia eu não consigo abrir a página, vez que a mesma não possui um comentário inicial, eu tenho que entrar no banco de dados colocar um comentário para que ela possa abrir em recebe_noticia.asp.

 

Desta forma, queria saber se é possível criar um form que envie a noticia cadastrada para a tabela respectiva no banco de dados, bem como um comentário inicial “SEM COMENTÁRIOS” ou “COMENTE ABAIXO”.

 

Ou se tiver alguma outra saída, ficarei grato.

 

Desde já obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

noa é certo usar o inner join neste caso nao da forma como esta

 

pode ser feito com LEFT JOIN

 

ou entao voce faz dois selects um para as noticias e outro para o seus coments

Compartilhar este post


Link para o post
Compartilhar em outros sites

noa é certo usar o inner join neste caso nao da forma como esta

 

pode ser feito com LEFT JOIN

 

ou entao voce faz dois selects um para as noticias e outro para o seus coments

Mas o INNER JOIN não liga as duas tabelas, indicando que sempre que houver uma notícia, mostrará todos os comentários relacionados com aquela notícia.

 

E se for fazer dois SELECT, ficaria dois recordset, um pra notícia e outro pra comentario, sendo que ao fazer repetir todos os registros de comentario, mostrará todos... independente da notícia, então terie uma notícia com todos os comentários de todas as notícias.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho um sistema de noticia, onde exibo os comentarios dessa forma.

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

onde pego o id da noticia relacionado com o cementário para exibi-lo e abaixo um form para inserir o comentário,

para inserir você insere normalmente, com INSERT INTO ou atraves do AddNew do recordset.

 

se quiser me passa o email que envio para você estudá-lo e dae você pode implementá-lo de sua forma.

Compartilhar este post


Link para o post
Compartilhar em outros sites

noa é certo usar o inner join neste caso nao da forma como esta

 

pode ser feito com LEFT JOIN

 

ou entao voce faz dois selects um para as noticias e outro para o seus coments

Muito obrigado Mário Monteiro... realmente a cláusula LEFT JOIN é o que estava faltando..deu tudo certo, como eu queria...abaixo como ficou a consulta

 

SELECT *

FROM noticia LEFT JOIN coment_noticia ON noticia.cod = coment_noticia.codI

WHERE noticia.cod=vai

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenho um sistema de noticia, onde exibo os comentarios dessa forma.

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

onde pego o id da noticia relacionado com o cementário para exibi-lo e abaixo um form para inserir o comentário,

para inserir você insere normalmente, com INSERT INTO ou atraves do AddNew do recordset.

 

se quiser me passa o email que envio para você estudá-lo e dae você pode implementá-lo de sua forma.

 

Obrigado amigo pela dica, mas consegui tbm com o LEFT JOIN, sem contar que tbm observei que ainda existem outras variações de junção (JOIN) inclusive a FULL JOIN, acho que descobri o caminho das indias...rsrs.. vai abaixo como ficou a consulta pra mostrar a noticia, os comentários (mesmo estando NULL).

 

SELECT *
FROM noticia LEFT JOIN coment_noticia ON noticia.cod = coment_noticia.codI
WHERE noticia.cod=vai

Compartilhar este post


Link para o post
Compartilhar em outros sites

como mencionei em outro post, lembrando que a importância de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, é como sempre falo, um relacionamento bem definido é a alma de um aplicativo, pois daí saem todas as consultas e operações com o bd, influenciando diretamente na otimização e performance de sua página, entao verifique tb como estao seus relacionamentos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

como mencionei em outro post, lembrando que a importância de uma modelagem de dados bem definida até os mínimos detalhes, como os campos de relacionamentos, é como sempre falo, um relacionamento bem definido é a alma de um aplicativo, pois daí saem todas as consultas e operações com o bd, influenciando diretamente na otimização e performance de sua página, entao verifique tb como estao seus relacionamentos.

Acho que os relacionamentos estão de acordo, mas mesmo assim vou verificar novamente.. e realmente isso poupa muita dor de cabeça, principalmente pra quem esta iniciando na construção de páginas dinâmica...obrigado mais uma vez pela dica

Compartilhar este post


Link para o post
Compartilhar em outros sites

que bom que resolveu com o LEFT JOIN

 

parabens

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.