Contando Clicks.. - PHP - Fórum Script Brasil
Contando Clicks..
Pessoal seguinte.. me da um a base pra eu poder começar uma modificação no meu site... dexa eu explicar do que se trata.
Tenho galerias de imagens de imagens em meu site as minitaturas linkam para um arquivo .PHP que se abre em Pop-Up deste modo:
exibe_foto.php?n_foto=25
Certo.. então o que eu gostaria de fazer .. gostaria de inserir aí um contador de clicks para poder mostrar quantas vezes aquela imagem foi exibida. E o problema então esta aí como posso fazer isso.. imagino que terei que colocar algum código que verifique o n_foto=X e adcione 1 aos clicks da foto no BD.. mas lá no banco de dados como ficaria ? Uma tabela 'clicks' e quais campos ?
Se tiver algum script pronto que possa me dar uma base um artigo ou mesmo o conhecimento de vocês..
Edited August 9, 2007 by Hoopkins
Se você guarda alguma informação da foto no BD, só adicione mais uma coluna com um nome qualquer, do tipo INT e valor padrão 0, ai quando o cara acessar você pega o valor soma 1, exibe na tela e adiciona esse mesmo valor ao BD, caso você queira criar uma tabela só pra isso acho que só precisa de 2 colunas, ID e clicks, ID seria o mesmo número da foto e o clicks seria a quantidade de vezes que a foto foi vista...
Então pra somar como faço.. não tenho informação das fotos no BD.. vou criar uma tabela 'clicks' vou por então os seguintes campos:
galeria_nome
foto_clicks
Então veja se está certo.. vou definir no Pop-UP o nome da galeria vou adcionar um código para que some 1 .. mas consegue me dizer um código de soma nesse estilo que estou precisando pegando o número da foto da URL e o nome da galeria do documento ?
Você não precisa dos três campos, porque só o ID já é suficiente pra descobrir qual foto é e que contador pegar...
De qualquer maneira, assumindo que o link seria algo do tipo: exibe_foto.php?n_foto=25
/*Conecta ao banco...*/
$id = $_GET['n_foto'];
$clicks = mysql_query("SELECT foto_clicks FROM clicks WHERE id = '$id'");
$num_clicks = mysql_result($clicks,0,'clicks');
echo "Total de cliques:".$num_clicks;
/*Atualiza os cliques...*/
$num_clicks = $num_clicks+1;
mysql_query("UPDATE clicks SET foto_clicks = '$num_clicks' WHERE id = '$id'");
Muito Obrigado ESerra.. baseado no seu código desenvolvi um que se adaptou correntamente ao que eu precisava e consegui o resultado esperado.. agora só tenho uma dúvida onde posso aprender certinho como funciona o
mysql_result ? Tem algum linik para me indicar ?
Claro... o manual...
Mas pra adiantar o expediente, resumidamente mysql_result funciona assim:
mysql_result(ARG1,ARG2,ARG3);
O ARG1 é a fonte do mysql_result, ou seja, a query de onde os dados vão vir.
o ARG2 é a linha da query, ou seja, se você faz uma pesquisa, essa pesquisa retornou 3 resultados, então mysql_result vai poder ser 0, 1, 2 (lembre-se que o primeiro resultado sempre vai ser zero e não 1).
ARG3 é a coluna que se deseja pegar... é interessante passar esse item entre aspas ou apóstrofes, pois dependendo da configuração do php.ini gerará um notice sem as aspas ou apóstrofes...