Ir para conteúdo

Arquivado

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

victorhonda

Sistema de comprar com pontos virtuais

Recommended Posts

Olá pessoal , estava tentando fazer um codigo mais eu fiquei com raiva e acabei deletando tudo. é assim , um sistema de pontos virtuais 

ex: João tem 800 coins 

      produto A custa 300 coins

      sendo assim joão pode comprar o produto A e ainda vai sobrar 500 coins.

      Dai quando joão clicar no produto vai aparecer uma mensagem de (sucesso produto adquirido , ou , você não tem coins suficientes)

      se ele tiver coins suficientes ao clicar , vai aparecer a mensagem e gravar as informaçoes do usuario no banco de dados.

      é isso . Obrigado a todos :)

     se alguem tiver como ajudar eu fico muito grato 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você está aprendendo php utilize o form pra fazer a primeira parte dessa função, seria algo mais ou menos assim

<form action="produtos-coin.php" method="POST">
  <input type="hidden" name="id_comprador" value="<?php echo aqui vai o id do comprador pra identificar ele ;?>">
  <input type="hidden" name="preco" value="<?php echo aqui vai a quantidade de coins ;?>">
  <span>valor: 300 coins</span>
  <input type="submit" name="comprar" value="COMPRAR COM COINS">
</form>

 

Agora você já tem um meio pra enviar as informações, que vai ser pra página produtos-coin.php com método POST e tratar as informações recebidas lá

A próxima etapa seria algo mais ou menos assim:

 

<?php

if(isset($_POST['comprar'])){ verifica se o botão COMPRAR foi clicado
CONECTA AO BANCO DE DADOS DOS USUÁRIOS PRA PEGAR A QUANTIDADE ATUAL DE COIN DO COMPRADOR ESPECÍFICO
$servername = "localhost";
$username	= "user";
$pass		= "******";
$dbname		= "db";
$conn = new mysqli($servername,$username,$pass,$dbname);
if($conn->connect_error{
 die("Conexão falhou: ".$conn->connect_error); 
}

$id_comprador = $_POST['id_comprador'];
$preco_produto = $_POST['preco'];

$sql = "SELECT colunaDeCoins FROM tabelaDeUsuarios WHERE idDoComprador='$id_comprador'";
$result = $conn->query($sql);
$data = $result-fetch_assoc();

$qtd_coin_do_comprador = $data['colunaDeCoins']; 


if($qtd_coin_do_comprador >= $preco_produto){

	$tira_300_coins_do_comprador = $qtd_coin_do_comprador - $preco_produto;
	ATUALIZA A QUANTIDADE DE COINS DO COMPRADOR
	$sql = "UPDATE tabelaDeUsuarios SET colunaDeCoins='$tira_300_coins_do_comprador' WHERE idDoComprador='$id_comprador'";

	DISPARA A MENSAGEM QUE FOI EFETUADO COM SUCESSO A COMPRA
	$mensagem_da_compra = "sucesso produto adquirido";

}else{ SE ELE NÃO TIVER A QUANTIDADE SUFICIENTE EXECUTA ESSE BLOCO 

	$mensagem_da_compra = "Coins insuficientes";

}

$conn->close();
?>

Provavelmente tem um erro ou outro, mas esse é um modelo da lógica que você ta procurando, estude os if()else e UPDATE no banco de dados pra você conseguir fazer. A parte do ID do comprador no formulário é importante também pq é com ele que você vai conseguir pegar a quantidade de coins desse usuário específico e fazer todas as verificações depois.

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, BrunoMs disse:

 

 

 

Bruno muito obrigado , você é bom pakas, eu tenho uma duvida .

$sql = "serve para capturar as informaçoes da tal tabela?"

 

tipo assim eu tenho tres tabelas [users, produtos, comprafinalizada], dai como eu linkaria essas tabelas no produtos-coin.php? eu poderia utilizar $sql =" dentro do parenteses eu entendi como funciona" -- users

                            $sql =" dentro do parenteses eu entendi como funciona" -- produtos

                            $sql =" dentro do parenteses eu entendi como funciona" -- comprafinalizada

poderia por tudo em baixo do outro? e dps 

                           $result = $conn->query($sql);

                           $data = $result-fetch_assoc();

                           ??????????????????

 

<?php echo aqui vai a quantidade de coins ;?> como eu devo mudar?
<?php echo 300 ;?> assim? e onde ta isso no produtos-coin.php ? 

 

 

 

se poder me ajuda eu fico grato , ainda tenho outras duvidas mais vamos uma de cada vez para você poder me ajudar :)

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você só vai precisar de 1 tabela, a tabela de "users", é nela que você tem as informações da quantidade de coins de cada usuário? Na tabela "produtos" é de lá que vai vir os preços,  mas esses preços você poem dentro do form na input "preco" que dei de exemplo, você dá um "echo" lá dentro, pra você pegar esses valores você vai ter que fazer uma conexão no seu banco de dados na tabela produtos, pra isso é necessário você entender sobre SELECT pra pegar esses dados, segue 2 links: 

Entendendo sobre SELECT: https://www.w3schools.com/sql/sql_select.asp

Exemplos: https://www.w3schools.com/php/php_mysql_select.asp

$result = $conn->query($sql);
$data = $result->fetch_assoc();

Esse trecho eu faço uma espécie de associação pra pegar os dados da tabela utilizando $data

Vamos supor que você usa userName dentro da tabela pra armazenar o nome do usuário, ficaria assim:

$data['userName'] pra pegar o nome daquele usuário que ta utilizando o seu site

pra dar um echo, como dei de exemplo lá no form, você faria assim:

<?php echo $data['userName'];?>

isso retornaria o nome do usuário por exemplo, você vai ter que usar isso nas inputs dentro do form que te dei de exemplo.

seria algo assim:

<input type="hidden" name="preco" value="<?php echo $data['qtdCoins'];?>">

Dá uma boa lida sobre mysql, no site que te passei tem um material bem legal pra você ir entendendo, pra fazer esse sistema que você ta querendo você basicamente vai utilizar: conexão de banco de dados,SELECT,UPDATE,if()else(), conforme você vai lendo o material vai olhando o código que te dei de exemplo que você vai começar a entender e até mesmo fazer mais modificações conforme a sua necessidade.

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.