Ir para conteúdo

Pergunta

Boa tarde, sou iniciante em desenvolvimento web e fiz um site pra mim mesmo como forma de teste.

Queria adicionar um botão de FAVORITO em imagens de uma galeria para avaliação dos usuários.

Não consigo achar um tutorial, ou uma aula.

Alguém por aqui tem uma ideia de como eu posso fazer?

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

2 respostas a esta questão

Recommended Posts

  • 1

Isso é algo muito simples desde que você tenha uma noção nem que seja básica de como manipular dados...

  • A cada upload de imagem ela deve ser registrada em um banco de dados
  • A tabela para esse afim deve possuir uma coluna para identificar-la outra para contagem de votos.
CREATE TABLE `imagens` (
    `id` int(9) NOT NULL AUTO_INCREMENT  COMMENT 'Esse é o identificador da imagem',
    `nome` varchar(200) NOT NULL DEFAULT '' COMMENT 'Nome do arquivo de imagem',
    `votos` int(9) NOT NULL DEFAULT '0' COMMENT 'Contador de votos',
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
  • Ao exibir a imagem adicione um botão cujo irá chamar uma função enviando a informação de qual imagem é.
<button onclick="votar('<?= $identificar_imagem ?>')">Votar na imagem</button>
  • A função por sua vez irá executar um ajax para que não haja recarregamento passando por um protocolo GET a informação de qual imagem foi votada para um arquivo.
function votar(id_da_imagem) {
  // Execute o ajax informando o arquivo e o identificador da imagem
  // ('arquivo_de_voto.php?imagem='+ id_da_imagem);
}
  • No arquivo que vai receber essa informação faça um SQL SELECT na tabela de imagem selecionado a imagem que tenha o ID da informação GET['imagem']
  • Com essa informação adicione um variável de contagem.
$contagem = ($resultado_de_votos_da_imagem += 1);
  • Então é só fazer o SQL UPDATE nessa mesmo registro atualizando a coluna de votos.

 

Ponderações:

Você também deve possuir uma segunda tabela que irá armazenar quem já votou nessa imagem, para que antes de fazer o updade possa checar se aquela pessoa já votou na imagem, do contrário uma pessoa pode clicar milhares de vezes no botão assim votando diversas vezes.

Usar-se de manipulador de tempo para que um maldosos não vá ao console ou em outra aplicação http e adicione uma função em micro-segundo para voto (é como se a pessoa clicasse centenas de vezes por segundo) sobre esse botão ou o arquivo que recebe, do contrário seu servidor será sobrecarregado de requisições (isso se a conexão e a máquina dele aguentar).

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.