Ir para conteúdo

POWERED BY:

Arquivado

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

PHDiniz

Coisa fácil de fazer, mas não sei como.

Recommended Posts

Pessoal, estou fazendo um script de afiliados, gostaria de saber como faço pra fazer o seguinte:

 

1º: Criar o usuário no banco de dados e atribuir um HIT. [Já está pronto]

2º: Como criar um script como por exemplo: ?ref=blablabla e fazer ele adicionar +1 no campo HIT no mysql. [Preciso de Ajuda aqui]

 

Eu to usando switch e case, mas acho que não deve funcionar, os campos que uso no mysql são:

 

ID, Nome, Senha, Email e Hits (quantidade de visualizações).

 

Como poderia fazer para quando alguem entrar no endereço www.meusite.com.br/?ref=usuario_cadastrado pudesse fazer que no campo HITs no mysql aumentasse 1 número? (Por exemplo: Se ele tem 10 hits, entrando no link de referencia dele fosse para 11... 12 e por ai em diante).

 

Alguem saberia me explicar?

 

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça um update pegando id da tabela, basicamente cliques=cliques+1 faço isso em um sistema de noticias

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, mas como seria?

 

$hit = mysql_query("UPDATE usuario,hits from cadastro where='$usuario',hits values ('$usuario','++1')");

 

Seria isso?

 

Desculpa, mas o campo que eu quero atualizar é o HITS, no 1º post eu disse que era o nome do usuário era ID, mas é USUARIO mesmo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom amigo se o tabela for alto incremente leva o id pela url ou session

 

mysql_query("UPDATE cadastro SET hits=hits+1 WHERE id= $id");

Senão você tem que fazer o código procurar pelo o usuário

 

Mas não tem segredo o código acima já vai te dar uma idéia de como desenvolver

 

 

Abraços e obrigadão pelo chomod 0777

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem alguma coisa errada ai?

 

<?php

include "config.php";

$ref = $_GET['ref'];

switch($_GET['ref'])

{

case "$usuario":

mysql_connect("$db", "$db_user", "$db_pass") or die ("Erro ao conectar-se ao Banco de Dados");

mysql_select_db('cadastro');

$con = mysql_query("UPDATE cadastro set hits='+1' where usuario='$usuario'");

mysql_query("$con");

exit;

}

?>

Ah, devo usar ISSET ou SWITCH?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Que tal assim?

 

$ref = $_GET["ref"]; // usuário;
$busca = mysql_query("select hits from cadastro where id='$ref' limit 1");// busca hits do usuário
list($hit) = mysql_fetch_array($busca);//coloca na variavel
$hit++;// add 1
mysql_query("update cadastro set hit='$hit' where id='$ref' limit 1"); // atualiza banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esqueci de dizer:

 

No seu script tem coisas erradas sim como:

 

( case "$usuario": ) -> $usuario não esta definido, se for uma string tire o sifrão

 

 

$con = mysql_query("UPDATE cadastro set hits='+1' where usuario='$usuario'");

mysql_query("$con");

 

1 . nesse acima temos um update que vai deixar o campo hits com valor 1 positivo. . . só isso

2 . você já executou a query $con, não pode colocar uma query dentro de outra, talvez sua intenção foi

 

$con = "UPDATE cadastro set hits='+1' where usuario='$usuario'";
mysql_query($con);

Mas avalia a forma que eu fiz no POST de cima

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza WarLike, isso mesmo, agora o que me resta fazer é o negócio da url ai.

 

Como faria isso?

 

index.php?ref=pessoa_tal

 

Nesse pessoa_tal, ele add 1 hit a mais dentro do cadastro pessoa_tal, tem como fazer?

 

 

Como poderia fazer para colokar uma variável no case buscando o cadastro no mysql?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in ...\hitt.php on line 105

 

99 - <?php
100 - include "config.php";
101 - $ref = $_GET["ref"]; // usuário;
102 - mysql_connect("$db", "$db_user", "$db_pass") or die ("Erro ao conectar-se ao Banco de Dados");
103 - $busca = mysql_query("select hits from cadastro where id='$ref' limit 1");// busca hits do usuário
104 - list($hit) = mysql_fetch_array($busca);//coloca na variavel
105 - $hit++;// add 1
106 - mysql_query("update cadastro set hit='$hit' where id='$ref' limit 1"); // atualiza banco

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

da um or die na query e veja o que ele te mostra

 

or die (mysql_error());

Compartilhar este post


Link para o post
Compartilhar em outros sites

No database selected

 

Código que to usando:

 

<?php
include "config.php";
$ref = $_GET["ref"]; // usuário;
mysql_connect("$db", "$db_user", "$db_pass") or die ("Erro ao conectar-se ao Banco de Dados");
mysql_select_db("cadastro");
$busca = mysql_query("SELECT Hits FROM Cadastro Where Usuario='$ref' LIMIT 1") or die (mysql_error());// busca hits do usuário
list($hit) = mysql_fetch_array($busca);//coloca na variavel
$hit++;// add 1
mysql_query("update cadastro set hit='$hit' where id='$ref' limit 1"); // atualiza banco
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Base de dados não encontrada, verique a conexão com o servidor se não tem algun erro

 

"config.php";

Compartilhar este post


Link para o post
Compartilhar em outros sites

esqueça esse arquivo de configuração, deixe assim:

 

<?php
$ref = $_GET["ref"]; // usuário;

$con=mysql_connect('localhost','USUARIO','SENHA') or die ("Erro ao conectar-se ao Banco de Dados".mysql_error($con));
mysql_select_db('cadastro',$con)or die('Erro ao selecionar a base de dados'.mysql_error($con));


$busca = mysql_query("SELECT Hits FROM Cadastro Where Usuario='$ref' LIMIT 1") or die (mysql_error());// busca hits do usuário
list($hit) = mysql_fetch_array($busca);//coloca na variavel
$hit++;// add 1
mysql_query("update cadastro set hit='$hit' where id='$ref' limit 1"); // atualiza banco
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza Alaerte, agora não deu nenhum erro, porém, o calculo não funciona. Simplesmente fica tudo em branco.

 

<?php
$ref = $_GET["ref"]; // usuário;
$con=mysql_connect('localhost','root','******') or die ("Erro ao conectar-se ao Banco de Dados".mysql_error($con));
mysql_select_db('afiliados',$con)or die('Erro ao selecionar a base de dados'.mysql_error($con));


$busca = mysql_query("SELECT Hits FROM Cadastro Where Usuario='$ref' LIMIT 1") or die (mysql_error());// busca hits do usuário
list($hit) = mysql_fetch_array($busca);//coloca na variavel
$hit++;// add 1
mysql_query("update cadastro set hit='$hit' where id='$ref' limit 1"); // atualiza banco
?>

Imagem do banco de dados:

 

http://img530.imageshack.us/img530/2030/imgmn5.jpg

 

Por favor, tem como alguem ai ver pra mim se tem alguma coisa errada no código de acordo com a img?

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

certo,

 

tem algo estranho em seu código, pra que você quer adicionar+ 1 a variável $hits ?????

 

pois o campo hit é auto_increment ou seja ele se incrementa automaticamente e você está adicionando +1 a este campo, vai embananar tudo, pra quer que fazer isso ?

 

outra coisa, aqui:

 

list($hit) = mysql_fetch_array($busca);//coloca na variavel
$hit++;// add 1

 

deve ficar assim:

 

$dados=mysql_fetch_array($busca);//coloca na variavel
$dados['hits']+1;// add 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

DESISTO.

Nunca se de por vencido mano, teste ai ou mande a estrutura do db

 

<?php
$ref = $_GET["ref"]; // usuário;
$con=mysql_connect('localhost','root','******') or die ("Erro ao conectar-se ao Banco de Dados".mysql_error($con));
mysql_select_db('afiliados',$con)or die('Erro ao selecionar a base de dados'.mysql_error($con));

$busca = mysql_query("SELECT Hits FROM Cadastro Where Usuario='$ref'") or die (mysql_error());// busca hits do usuário
$dados=mysql_fetch_array($busca);//coloca na variavel
$hit = $dados['hits']+1;// add 1
mysql_query("update cadastro set hit='$hit' where id='$ref'"); // atualiza banco
?>

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.