Markim Markim  • 21.09.13 13:32

[Ajuda] Contador de Cliques (PHP e MySQL) Empty [Ajuda] Contador de Cliques (PHP e MySQL) 21.09.13 13:32

Bom, eu tenho um sistema de postagem de músicas que fiz para meu site vendo uma vídeo aula, ele funciona perfeitamente, mas eu queria fazer um contador de downloads, não achei nem um vídeo bom que eu consiga aprender a fazer.. Será que alguem poderia me ajudar a fazer esse contador?
 
Em "0 Downloads" eu queria que aumenta-se cada vez que um usuário clica-se no link.

Obs: São vários links, poderia usar o id para definir cada um.

<?php
$seleciona = mysql_query("SELECT * FROM musicas ORDER BY id DESC");
$conta = mysql_num_rows($seleciona);

if($conta <= 0){
echo "Não há nenhum dado no banco!";
}else{
while($ln = mysql_fetch_array($seleciona)){
$id = $ln['id'];
$titulo = $ln['titulo'];
$data = $ln['data'];

?>
<img class='thummusica' src='./imagens/sound.png' alt=''>

<h3><a href='baixar.php?arquivo=downloads/<?php echo $titulo; ?>.mp3'><?php echo $titulo; ?></a></h3>

<span class='clock3'> Postado: <?php echo $data; ?></span>


<span class='comm' style='float:right;'>0 Downloads</span>
<?php }} ?>




Última edição por Markim em 23.09.13 13:03, editado 1 vez(es)

The Flash The Flash  • 21.09.13 15:31

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 21.09.13 15:31

Não estou conseguindo. Mas tente aí.
Basta criar 2 variáveis: 1 com o valor zero. Outra com o valor variavél 1 + 1

E no botão, coloque o parâmetro onclick='evento'

versionPY versionPY  • 22.09.13 14:59

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 22.09.13 14:59

Tipo faz assim, bota um link no donwload indo para outro código php.
Nesse codigo redirecione para a página que vai fazer o donwload e neste mesmo codigo , faça o que o victor falou só que sem precisar por o evento.

A variável tu armazena no banco de dados ...

Markim Markim  • 22.09.13 15:18

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 22.09.13 15:18

VictorEyer escreveu:Não estou conseguindo. Mas tente aí.
Basta criar 2 variáveis: 1 com o valor zero. Outra com o valor variavél 1 + 1

E no botão, coloque o parâmetro onclick='evento'
kaioke13 escreveu:Tipo faz assim, bota um link no donwload indo para outro código php.
Nesse codigo redirecione para a página que vai fazer o donwload e neste mesmo codigo , faça o que o victor falou só que sem precisar por o evento.

A variável tu armazena no banco de dados ...
Não entendi muito bem o que dissera, se puderem me passar o código que devo colocar o php eu agradeceria muito.. A tabela dentro do meu banco de dados chama "musicas" e a coluna chama "cliques".

Por favor moderador, mova para Ajuda & Suporte.

Kushina Kushina  • 22.09.13 15:23

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 22.09.13 15:23

Olá,
Tópico Movido Para a área correta.

LøTøS LøTøS  • 22.09.13 16:01

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 22.09.13 16:01

Você quer que quando clica pra baixar, soma +1 certo?
é só ir no arquivo download.php e criar uma query
aumentando, simples ;-;

Markim Markim  • 22.09.13 18:22

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 22.09.13 18:22

LøTøS escreveu:Você quer que quando clica pra baixar, soma +1 certo?
é só ir no arquivo download.php e criar uma query
aumentando, simples ;-;
O problema todo é esse, eu entendo muito isso, poderia criar essa query pra mim?

LøTøS LøTøS  • 22.09.13 18:32

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 22.09.13 18:32

Algo parecido com isso:


mysql_query("UPDATE musicas SET cliques = cliques + 1 WHERE id = '".$id."' LIMIT 1")


OBS: ali no ID, coloca a variavel certa, não sei se é essa ;-;

Markim Markim  • 22.09.13 20:40

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 22.09.13 20:40

LøTøS escreveu:Algo parecido com isso:


mysql_query("UPDATE musicas SET cliques = cliques + 1 WHERE id = '".$id."' LIMIT 1")


OBS: ali no ID, coloca a variavel certa, não sei se é essa ;-;
Beleza, coloquei o código que vc disse, mas qual codigo tenho que colocar no link que quero que seja contado os cliques?
Ficou assim depois de colocar o código que você disse:


Código:
<?php
$seleciona = mysql_query("SELECT * FROM musicas ORDER BY id DESC");
$conta = mysql_num_rows($seleciona);
        $mysql_query("UPDATE musicas SET cliques = cliques + 1 WHERE id = id LIMIT 1");

if($conta <= 0){
echo "Não há nenhuma música no momento!";
}else{
while($ln = mysql_fetch_array($seleciona)){
$id = $ln['id'];
$titulo = $ln['titulo'];
$data = $ln['data'];
$cliques = $ln['cliques'];
?>

<div class='mblock'>

<img class='thummusica' src='./imagens/sound.png' alt=''>
             
<h3><a href='baixar.php?arquivo=downloads/<?php echo $titulo; ?>.mp3'><?php echo $titulo; ?></a></h3>

<span class='clock3'>  Postado: <?php echo $data; ?></span>  
                
<span class='comm' style='float:right;'><?php echo $cliques; ?> Downloads</span>

<?php }} ?>

versionPY versionPY  • 22.09.13 23:13

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 22.09.13 23:13

Bota no botão de donwload, tipo no qual ele vai clicar e isso vai acontecer :)

Markim Markim  • 23.09.13 13:00

[Ajuda] Contador de Cliques (PHP e MySQL) Empty Re: [Ajuda] Contador de Cliques (PHP e MySQL) 23.09.13 13:00

Vou deixar aqui meu arquivo baixar.php


Código:
<?php
   $arquivo = $_GET["arquivo"];
   if(isset($arquivo) && file_exists($arquivo)){ // faz o teste se a variavel não esta vazia e se o arquivo realmente existe
      switch(strtolower(substr(strrchr(basename($arquivo),"."),1))){ // verifica a extensão do arquivo para pegar o tipo
         case "pdf": $tipo="application/pdf"; break;
         case "exe": $tipo="application/octet-stream"; break;
         case "zip": $tipo="application/zip"; break;
         case "doc": $tipo="application/msword"; break;
         case "xls": $tipo="application/vnd.ms-excel"; break;
         case "ppt": $tipo="application/vnd.ms-powerpoint"; break;
         case "gif": $tipo="image/gif"; break;
         case "png": $tipo="image/png"; break;
         case "jpg": $tipo="image/jpg"; break;
         case "mp3": $tipo="audio/mpeg"; break;
         case "php": // deixar vazio por seurança
         case "htm": // deixar vazio por seurança
         case "html": // deixar vazio por seurança
      }
      header("Content-Type: ".$tipo); // informa o tipo do arquivo ao navegador
      header("Content-Length: ".filesize($arquivo)); // informa o tamanho do arquivo ao navegador
      header("Content-Disposition: attachment; filename=".basename($arquivo)); // informa ao navegador que é tipo anexo e faz abrir a janela de download, tambem informa o nome do arquivo
      readfile($arquivo); // lê o arquivo
      exit; // aborta pós-ações
   }
?>
Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.