Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

pjcs

Sistema de comentários em PHP

Mensagens Recomendadas

pjcs

Boas pessoal,

Eu estou a pensar em fazer um sistema de comentários para o meu site, mas as maneiras que conheço para tal tornar-se-iam muito lentas quando o número de comentários fosse grande.

É a mais básica: uma base de dados com "nome" "email" "mensagem" "ID" "post_associado" e depois fazia o SELECT e WHERE post_associado = $post_actual

mas tal como disse, qd fossem mts comentário ficaria muito lento.

Alguém que tenha mais experiencia me possa dizer uma forma melhor de fazer isto, sff. :hmm:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedrotuga

É assim que se usa uma base de dados relacional, não é lento.

Carregares 10000 comentários naturalmente que será lento, mas não será propriamente devido à forma como guardas e lês os comentários. É mais por serem muitos, e aí não há alternativa que te safe.

Para não mostrares os comentários todos, usa paginação, tens um bom exemplo aqui no portugal a programar:

http://www.portugal-a-programar.pt/index.php?showtopic=3599

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pjcs

Ok bgd. :)

A paginação eu sei fazer. Só uma coisa, quando mudo de página não  dá para fazer com que actualize apenas a parte dos comentários? sem utilizar aquela batota de meter como 'hidden'  :D

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

Ok bgd. :)

A paginação eu sei fazer. Só uma coisa, quando mudo de página não  dá para fazer com que actualize apenas a parte dos comentários? sem utilizar aquela batota de meter como 'hidden'  :D

batota do hidden? nao uso isso e faço paginação igual, limitas as páginas na pesquisa da base de dados

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pjcs

sim eu sei, a questão não era essa.

Por exemplo, estou na pagina 1 dos comentário e quero ir para a 2. ao fazer isto vai actualizar a página completa. o Que eu queria saber é se havia alguma maneira de deixar o resto da página (sem voltar a fazer load da mesma) e fazer o load apenas do novo conteudo, neste caso a página 2 de comentários.

Mas já tive a falar com uns colegas e disseram-me que em PHP nao era possivel, apenas em aspx ou coisa do genero e isso a  mim nao me interessa

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Comentário do yoda.pt, três postas atrás...

(também tens cá uns colegas com uma sabedoria...)


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

podes tentar usar esta função em javascript:

document.getElementById('warning2').innerHTML='* Email a ser enviado, aguarde um momento...';

eu uso para alterar texto dentro de div e spans dependendo do que me dá jeito, nunca tentei criar tabelas de listagem completas e fazer o que queres...

mas podes sempre tentar...

ou algo que resulta de certeza é teres a listagem dentro de uma frame embora seja uma forma de trabalhar que eu deixei de utilizar a uns tempos e nao aconselhe muito mas que funciona la isso não há duvida...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

Comentário do yoda.pt, três postas atrás...

(também tens cá uns colegas com uma sabedoria...)

por acaso tb nao sei fazer isso e pelo teu comentario suponho que dá para fazer... podes indicarm uma pagina ou forum onde possa ver isso ou o nome da função algo que me ajude a procurar?

ah eu nao sou o tal amigo mas pela tua frase fiquei curioso :P

se podesse fornecer um link ou nome da função agradecia a mim até me dava jeito de vez em kd, geralmente uso javascript como mostrei em cima para alterar o que quero

mas com php facilitava emenso...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado

Podes ver aqui para aprender os básicos. Depois, o melhor mesmo é usar metodologias mais simples que as frameworks JavaScript (como jQuery ou PrototypeJS) normalmente oferecem.

P.S.: faz-me imensa confusão como se mistura PHP e JavaScript no mesmo saco; Não são a mesma coisa, e não servem para a mesma coisa, ok? Depois de receberem os dados do lado do PHP, têm de usar JavaScript à mesma para enfiar esses dados no sítio certo...


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jcfr

Podes ver aqui para aprender os básicos. Depois, o melhor mesmo é usar metodologias mais simples que as frameworks JavaScript (como jQuery ou PrototypeJS) normalmente oferecem.

P.S.: faz-me imensa confusão como se mistura PHP e JavaScript no mesmo saco; Não são a mesma coisa, e não servem para a mesma coisa, ok? Depois de receberem os dados do lado do PHP, têm de usar JavaScript à mesma para enfiar esses dados no sítio certo...

ninguem está a misturar as coisas, javascript é uma coisa e php é outra coisa completamente diferente... o que nao impede ninguem de utilizar os dois tipos de linguagem em simultaneo numa página e fazelos interagir um com o outro mesmo que apenas indirectamente...

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pjcs

Estou com um problema a enviar o formulário. A questão é que quando o formulário é enviado ele vai inserir o coment na BD, mas se o utilizador carregar várias vezes em refresh ele envia o mesmo comentário várias vezes..

qual a forma mais simples de evitar isto?

já tentei fazer o unset das variáveis $_POST  mas qd actualizo ele volta a enviá-las  :eek:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Cynary

Estou com um problema a enviar o formulário. A questão é que quando o formulário é enviado ele vai inserir o coment na BD, mas se o utilizador carregar várias vezes em refresh ele envia o mesmo comentário várias vezes..

qual a forma mais simples de evitar isto?

já tentei fazer o unset das variáveis $_POST  mas qd actualizo ele volta a enviá-las  :eek:

Tens algum problema estranho aí.

Quando uso ajax, normalmente faço uma função para obter o conteúdo de um ficheiro e colocar nalgum elemento com um certo ID, através do método GET, e outra separada para submeter informação, e colocar o resultado num certo elemento, usando o método POST.

Para o que descreveste acontecer, deves estar a usar a mesma função para tudo. Tenta separar, pois o utilizador ao fazer reffresh está a enviar dados POST, e não devia necessitar de fazer isso.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pjcs

Boas,

Isto já começas a ser dúvidas que não têm a ver com o tópico mas acho que não há necessidade de tar a criar um novo para cada duvida...

O caso é o seguinte:

Eu quero meter uma div com visibility:"hidden";

e quando clico num link ela aparece (por javascript)

O problema é a div ainda é grande, e quando está como hidden ela fica na mesma a ocupar o espaço dela, logo fica muito espaço em branco desnecessário.

O que posso fazer para isso nao acontecer?

Lembreime de alterar tambem o "position:absolute" ou coisa do genero mas nao sei como se faz em javascript!

Obrigado :biggrin:

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.