Ir para conteúdo

POWERED BY:

Arquivado

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

Gabriel Falieri

Como fazer um contador de downloads?

Recommended Posts

Estou com um seguinte problema, estou precisando fazer um contador de downloads.
Ai eu tenho no meu banco de dados... o campo "caminho_download" onde salva o caminho da pasta + o nome da musica e tenho um campo chamado quantidade de downloads, onde eu preciso contar quantos downloads foram feitos, não sei se tem uma forma mais fácil mas eu pensei o seguinte... sendo que eu tenho que contar o numero de downloads de cada musica e não sei quantas musicas vai ter, pensei em criar um array com tamanho de quantidade de musicas que tem salvo no banco de dados.
A medida que fosse cadastrado o array iria aumentando obvio.

E dentro desse array teria a quantidade de downloads, que iria pegar o id da musica assim que clicasse para fazer o download, mas agora tenha uma forma mais fácil de fazer que eu não saiba e eu não estou conseguindo pensar na codificação para essa ideia

   $result = "SELECT * from tbl_upload WHERE nome_musica LIKE '%" .$filtro."%' OR artista LIKE '%".$filtro."%' ORDER BY id_postagem  ASC LIMIT $inicio,$quantidade ";
  $query = mysql_query($result) or die(mysql_error()) ;   
  while ($array = mysql_fetch_array($query))
	{
	  echo '<table class="tblCampos">';
	      echo '<tr>';
		 echo '<td class="nomeMusica"><a href="baixar.php?arquivo='.$array[4].'">'.$array[1].'</a></td>';
		echo '<td class="nomeArtista">'.$array[2].'</td>';
                $data = $array[3];
	        $dataAtual = implode("/", array_reverse(explode("-", $data)));
	        echo '<td class="dataPublicacao">'.$dataAtual.'</td>';
		echo '<td class="downloads"><a href="baixar.php?arquivo='.$array[4].'">'.'<img src="imagem/img-download.png">'.'</a></td>';
		echo '<td class="quantidadeDownloads" id="tabelas" >'.$array[5].'</td>';
		$quantID = $array[0] + $array[0];
	    echo '</tr>';
	echo '</table>';        
    }  

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, o sistema é dinâmico, não existe necessidade de contar quantas músicas tem, a contagem será automática a partir de cada clicada para fazer o download, é totalmente independente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você vai armazenar no campo quantidade de downloads, cada vez que um usuário clicar em download daquela imagem.

 

Você está trazendo os registros no loop correto ? é só armazenar o ID na variável e na hora do clique download você manda via get o ID para a página de processamento que irá gravar no banco de acordo com o ID passado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc cria uma pagina sommente para enviar o arquivo para o cliente;

 

 

Exemplo;

 

www.seusite.com.br/download.php?file=5

 

 

nessa pagina vc pega os dados do arquivo no select ;

 

Vc cria uma tabela (Ex; log_downloads), nela vc da um insert com os dados do download;

 

Exemplo:

 

Se o usuario estiver logado vc pode por

 

id_usuario, email, data e hora do download, id e nome do arquivo,

 

 

pra tu conseguir o total vc pode depois dar um select na tabela de log onde os id são daquele arquivo... o total de downloads é o total de linhas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ué depende da sua aplicação, vc está incrementando como?

 

 

Eu dei a ideia de uma tabela de log, e vc da insert nos logs...cada linha é um download...;

 

Mas se vc quer da update na própria linha do arquivo, fique a vontade;

 

Abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí agora você terá que fazer a condição no IF, seguido de uma busca para contar se já existe alguma contagem, se existir aí você fará o update para +1 se não existir você insere 1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dentro da condição

if(isset($_GET['id'])){

 // Faz a conexão com o banco de dados
 // Faz o select do arquivo solicitado.
 // verifica se o arquivo existe.
 // se o arquivo existir faz um update de quantidade de download do mesmo adicionando
 // a quantidade existente +1.
 // Força o download do arquivo
 // Se o arquivo não existe, envia um e-mail para o X dono para informa-lo que o arquivo
 // não existe.
}else{
 // erro id invalido
}

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.