Ir para conteúdo

POWERED BY:

Arquivado

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

kikas100

Incrementar 1 numero na bd ao clicar num submit

Recommended Posts

Boas,

Gostava da vossa ajuda para uma coisa.Eu ao clicar num submit gostava que incrementasse 1 numero num campo da base de dados no id da pagina(?pagina=65).

 

Penso que seja +/- assim mas não funciona.

 


if (isset($_POST['submit'])) {
$p=0;
$popular = $p++;

$popinserir = mysql_query("insert into favoritos (popular) values ('$popular')");

}


Compartilhar este post


Link para o post
Compartilhar em outros sites

FIz uma pequena alteração e mesmo assim não funciona

 

 


if (isset($_POST['popular'])) {

$popular = 1;

$popinserir = mysql_query("insert into favoritos (popular) values ('$popular') where id='$id_url'");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok!

 

Tente assim:

 

<?php

// Verifica se o form foi submetido (se a pagina foi acessada em metodo post) ja que nao é possivel validar o valor que nao vem do form
if ($_SERVER['REQUEST_METHOD'] == 'POST')
  { // SQL pra atualizar o valor do campo na tabela
    $SQL          = 'UPDATE favoritos
                        SET popular = popular + 1
                      WHERE id = '.$id_url; // Imagino que $id_url seja um inteiro, como o codigo do registro..., se não for, use aspas
    // Execucao
    $Consulta     = mysql_query($SQL) OR Die (mysql_error());
  }

?>

Poste ai o resulatdo.

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não incrementa o valor.Na bd tenho predefinido como 0.Quero esclarecer uma coisa,não tenho nenhum formulario.Só tenho um botao e não está ligadao a nenhum formulario.Pode ser disso?

 

Tipo isto:


<div>
<input type='submit' name='popular' value='Popular'/>
</div>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não incrementa o valor.Na bd tenho predefinido como 0.Quero esclarecer uma coisa,não tenho nenhum formulario.Só tenho um botao e não está ligadao a nenhum formulario.Pode ser disso?

Sim! Se nao ha form, nao a submissao.

Para fazer direto no botao, sem formulario e sem recarregar a pagina, voce pode fazer um post ou get usando ajax/jquery para uma pagina php mais ai e outra historia, contudo, acredito que deva existir exemplo aqui no forum, use a busca.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pos num formulario.Mesmo assim não funciona.

 


echo "
  <form name='popular' method='post' action='comentarios.php?link='$id_url''>
  <input type='submit' name='popular' value='Popular'/>
  </form>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi!

 

O action do form nao precisa de aspas simples no valor da variavel get [ comentarios.php?link='$id_url' ].

Veja:

 

<?php
$id                = $_GET['id']; // Atualize para a var correta

// Verifica se o form foi submetido (se a pagina foi acessada em metodo post) ja que nao é possivel validar o valor que nao vem do form
if (isSet($_POST['popular']))
  { // SQL pra atualizar o valor do campo na tabela
    $SQL          = 'UPDATE favoritos
                        SET popular = popular + 1
                      WHERE id = '.$id;
    // Execucao
    $Consulta     = mysql_query($SQL) OR Die (mysql_error());
  }
                                                                // Atualize a var id aqui tambem
Echo "<form name='popular' method='post' action='comentarios.php?id=$id'>
     <input type='submit' name='popular' value='Popular'/>
     </form>";
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ja dá,funciona correctamente.Depois de clicar 1 vez no submit como se pode deixar o botao disabilitado ou fazer desaparecer da pagina?

 

Queria que so fosse possivel carregar so 1 vez no botao.

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.