fmda 0 Denunciar post Postado Fevereiro 20, 2010 Olá, eu ja vi em alguns sites que tem 2 botoes 1 positivo outro negativo, quando clica adiciona mais 1 na soma la do DB, alguem tem algo parecido pra eu da uma olhada e criar algo pra mim ? procurando na sessao de laboratorio n vi nd parecido, e como meu nivel de php é iniciantes sera complicado sem ter apoio quero algo simples, so a parte que quando clica add no banco mais 1, o resto eu dou um jeito Compartilhar este post Link para o post Compartilhar em outros sites
Hansley 1 Denunciar post Postado Fevereiro 20, 2010 cara, faz um SELECT dos dados e salva em uma varivel ex: $slct = mysql_query("SELECT campo FROM tabela WHERE id = '$id'"); $dados = mysql_fetch_array($slct); $pontos = $dados['pontos']; depois da um update adicionando um $pontos ++; $updt = mysql_querry("UPDATE tabela SET pontos = '$pontos'") acho que isso resolve.. Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 21, 2010 beleza, irei tentar Compartilhar este post Link para o post Compartilhar em outros sites
HJHESS 0 Denunciar post Postado Fevereiro 21, 2010 Ao invés de duas SQLs como ele fez, faça apenas uma: $updt = mysql_querry("UPDATE tabela SET pontos = (pontos+1) WHERE id = :id") Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 21, 2010 Mas tipo minha maior duvida ta sendo, é como fazer ele da este update quando ele clicar num texto por exemplo (desculpe, meu nivel é basico) tipo, teria la no texto: (clique aqui) ae ele daria o update no banco +1, tem como quebrar meu galho e me mostrar como que ficaria o resto eu faço, ja que é baseado no mesmo estilo Compartilhar este post Link para o post Compartilhar em outros sites
HJHESS 0 Denunciar post Postado Fevereiro 21, 2010 Bom, o que você deve pensar é que ao clicar a página não pode recarregar, pois recarregar por apenas um voto é ruim. Logo lhe recomendo a usar AJAX, da uma "googlada" de como funciona. Ou seja, ao clicar no +1 você carregaria uma outra página sem que o cliente pudesse ver acrescentando assim o voto. (O mesmo para -1 ) Mas como você está começando, tente sem usar AJAX, depois vá dando uma melhorada. outra questão seria: Você tem noção de lógica de programação? (Se não, é melhor começar com ela e não com uma linguagem) Caso tenha lógica, de uma estudada sobre AJAX e também na própria documentação do PHP, tente fazendo exemplos mais básicos, depois vá para sisteminhas de login, e vá dificultando aos poucos, depois você passa a fazer um sistema desses sem problemas. Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 21, 2010 Nossa Ajax pra mim sera dificil, em php tenho noção pois consigo editar algumas coisas, porem tenho que conhecer o codigo, mas sobre o carregar a pagina até que nao teria problema, n tem problema da um refresh na pagina Compartilhar este post Link para o post Compartilhar em outros sites
HJHESS 0 Denunciar post Postado Fevereiro 21, 2010 Bom, se não tem problema com refresh, fica extremamente simples. Você teria uma página com dois links +1 e -1 cada um iria dar um UPDATE no banco, porém um iria somar e outro subtrair... Cada link iria redirecionar para uma página que executaria a SQL e depois iria voltar. Mas como eu disse, você tem que estudar lógica de programação, senão fica muito difícil. Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 21, 2010 é a logica intendi, cada vez que clicar da update no banco, problema q n manho de php, teria algum exemplo pra eu ver, onde clica em um link e add? Compartilhar este post Link para o post Compartilhar em outros sites
HJHESS 0 Denunciar post Postado Fevereiro 21, 2010 A lógica de programação em si, não é apenas entender este programa, me refiro a toda a lógica, binários, estruturas if/else if/else, coisas do tipo. mas de uma googlada, provavelmente tem tutoriais ensinando. Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 22, 2010 você nao tem um exemplo simples ae pra eu visualizar nao ? simples mesmo, clica num texto adiciona mais 1 Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 22, 2010 <a href="banco.php?do=add" title="adicionar">+1</a><br /> <a href="banco.php?do=del" title="remover">-1</a> banco.php // COMECE A EDITAR AQUI $host = ''; //host mysql $usr = ''; //usuário com permissões suficientes $pwd = ''; //senha do usuário $db = ''; //banco a ser utilizado $tbl = ''; //tabela que será atualizada $field = ''; //campo a ser atualizado $where = ''; //cláusula de identificação ex.:'WHERE `id`=1' // PARE DE EDITAR AQUI if(!isset($_GET['do'])) die('Nenhuma ação a ser executada'); $conn = mysql_connect($host,$usr,$pwd) or die(mysql_error()); $db = mysql_select_db($db,$conn) or die(mysql_error()); $do = ($_GET['do'] == 'add')? '+': '-'; $query = sprintf('UPDATE `%s` SET `%s` = `%s` `%s` 1 %s',$tbl,$field,$field,$do,$where); $sql = mysql_query($query,$db) or die(mysql_error()); if(is_resource($sql)) echo "Sucesso."; Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 22, 2010 só esta dando "Nenhuma ação a ser executada", to fazendo algo errado banco.php <?php // COMECE A EDITAR AQUI $host = 'xxxxx'; //host mysql $usr = 'xxxxx'; //usuário com permissões suficientes $pwd = 'xxxxx'; //senha do usuário $db = 'xxxxx'; //banco a ser utilizado $tbl = 'pontos'; //tabela que será atualizada $field = 'ptz'; //campo a ser atualizado $where = '1'; //cláusula de identificação ex.:'WHERE `id`=1' // PARE DE EDITAR AQUI if(!isset($_GET['do'])) die('Nenhuma ação a ser executada'); $conn = mysql_connect($host,$usr,$pwd) or die(mysql_error()); $db = mysql_select_db($db,$conn) or die(mysql_error()); $do = ($_GET['do'] == 'add')? '+': '-'; $query = sprintf('UPDATE `%s` SET `%s` = `%s` `%s` 1 %s',$tbl,$field,$field,$do,$where); $sql = mysql_query($query,$db) or die(mysql_error()); if(is_resource($sql)) echo "Sucesso."; ?> teste.php| <?php require_once "banco.php"; ?> <a href="banco.php?do=add" title="adicionar">+1</a><br /> <a href="banco.php?do=del" title="remover">-1</a> Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 22, 2010 mesmo clicando nos links? a variável $where deve conter uma instrução SQL válida, não apenas o valor 1 $where = 'WHERE `id`=1'; Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 23, 2010 corrigi este detalhe, porem mesmo assim, so aparece Nenhuma ação a ser executada, nem aparece as 2 opções +1 -1 Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 23, 2010 percebeu que são arquivos diferentes né? Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 23, 2010 mas no outro arquivo (teste.php) eu chamo o banco.php Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 23, 2010 não há necessidade de chamar o banco.php, por isso está dando erro Compartilhar este post Link para o post Compartilhar em outros sites
fmda 0 Denunciar post Postado Fevereiro 23, 2010 não há necessidade de chamar o banco.php, por isso está dando erro é tinha razao nao chamei ele funcionou, porem qunado clica nos links da o erro Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/site/public_html/banco.php on line 17 17: $sql = mysql_query($query,$db) or die(mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
HJHESS 0 Denunciar post Postado Fevereiro 23, 2010 Troque if(!isset($_GET['do'])) por if(empty($_GET['do'])) E WHERE 1 é uma instrução válida... Você pode fazer WHERE 1 AND nome = 'a' que funciona normalmente, porém é um tanto quanto inútil... Compartilhar este post Link para o post Compartilhar em outros sites