Jump to content
  • 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

Recommended Posts

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. 🤔

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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...

Share this post


Link to post
Share on other 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  😲

Share this post


Link to post
Share on other 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  😲

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.

Share this post


Link to post
Share on other 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 :cheesygrin:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.