PHDiniz 0 Denunciar post Postado Outubro 1, 2008 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
Williams Duarte 431 Denunciar post Postado Outubro 1, 2008 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
PHDiniz 0 Denunciar post Postado Outubro 1, 2008 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
Williams Duarte 431 Denunciar post Postado Outubro 1, 2008 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
PHDiniz 0 Denunciar post Postado Outubro 1, 2008 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
WarLiKe 0 Denunciar post Postado Outubro 1, 2008 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
WarLiKe 0 Denunciar post Postado Outubro 1, 2008 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
PHDiniz 0 Denunciar post Postado Outubro 1, 2008 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
PHDiniz 0 Denunciar post Postado Outubro 1, 2008 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
Williams Duarte 431 Denunciar post Postado Outubro 1, 2008 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
PHDiniz 0 Denunciar post Postado Outubro 2, 2008 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
Williams Duarte 431 Denunciar post Postado Outubro 2, 2008 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
Alaerte Gabriel 662 Denunciar post Postado Outubro 2, 2008 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
PHDiniz 0 Denunciar post Postado Outubro 3, 2008 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
Alaerte Gabriel 662 Denunciar post Postado Outubro 4, 2008 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
PHDiniz 0 Denunciar post Postado Outubro 5, 2008 Pessoal, muito obrigado a todos que tentaram me ajudar, não consegui fazer o que eu queria. DESISTO. Obrigado a todos. Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Outubro 5, 2008 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