Ir para conteúdo

POWERED BY:

Arquivado

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

EnricoPre

Como usar funções de soma entre linhas no mysql?

Recommended Posts

Olá, Pessoal!

 

Preciso de uma ajudinha a respeito de um projeto que estou desenvolvendo.

Seguinte: criei um BD no phpmyadmin e preciso somar valores individuais. Aí eu não sei qual função do MySql usar

 

por exemplo:

Nome     Pontuação

joão              5

Maria            8

Julia              7

 

através de um formulário em php que criei, as pessoas irão somar os valores existentes nos registros.

Ou seja, você é o João e recebeu 3 pontos. Então você vai até o formulário e insere o valor. Então esses 3 pontos devem ser somados aos 5 pontos registrados. O mesmo vale para os outros usuários.

 

O que eu vi pela internet é o SELECT SUM, mas ele faz isso por colunas, mas não quero somar colunas, quero acrescer um valor aos registros. Como fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar o UPDATE, tenta assim:

UPDATE nome_da_sua_tabela SET pontuacao = pontuacao + 3 WHERE nome = "João"

Outra recomendação seria não usar cedilha ou caracteres especiais no nome da tabela e das colunas para evitar problemas nas consultas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, você faz um select por exemlo do registro "João" no campo pontuação.

 

Esse valor é o valor antigo da pontuação do João, usa o UPDATE que o colega citou acima

 

Tipo:

 

UPDATE tabela SET pontuacao = 'pontuacao_antiga + 'nova_pontuacao'' WHERE id_registro = 'id_do_joao_no_banco'

#'pontuacao_antiga' é o valor obtido no primeiro select

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí como eu é que resgato a pontuação antiga?

 

eu fiquei em dúvida, meu código ficou assim:

 

P.s: o nome da tabela é moedast e a coluna de pontos é Resultado.

o if é para se a pessoa vai somar, o UPDATE vai executar a soma, ou se for subtrair o UPDATE vai executar a subtração.

 

if($op == '+') {
  $w = "UPDATE moedast SET Resultado = //pontuação antiga// + '$adiciona'  WHERE id = 'id do fulano'";
  $r = mysql_query($con, $w);

  if($op == '-') {
    $w = "UPDATE moedast SET Resultado = //pontuação antiga// - '$adiciona'  WHERE id = 'id do fulano'";
    $r = mysql_query($con, $w);

  if ($w){
    echo  "Enviado!";
}else{
     echo "erro ao enviar, motivo : " . mysql_error();

}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
55 minutos atrás, EnricoPre disse:

Aí como eu é que resgato a pontuação antiga?

 

eu fiquei em dúvida, meu código ficou assim:

 

P.s: o nome da tabela é moedast e a coluna de pontos é Resultado.

o if é para se a pessoa vai somar, o UPDATE vai executar a soma, ou se for subtrair o UPDATE vai executar a subtração.

 


if($op == '+') {
  $w = "UPDATE moedast SET Resultado = //pontuação antiga// + '$adiciona'  WHERE id = 'id do fulano'";
  $r = mysql_query($con, $w);

  if($op == '-') {
    $w = "UPDATE moedast SET Resultado = //pontuação antiga// - '$adiciona'  WHERE id = 'id do fulano'";
    $r = mysql_query($con, $w);

  if ($w){
    echo  "Enviado!";
}else{
     echo "erro ao enviar, motivo : " . mysql_error();

}

 

 

Onde você armazena a pontuação dos fulanos?

 

Se for em uma tabela chamada fulanos, faz assim:


SELECT pontos FROM fulanos WHERE id_fulano = 'id_fulano'

O resultado desse select será os pontos do fulano, então você armazena em uma variável esses pontos e faz o UPDATE citado acima.

 

Faz muito tem que mexi com PHP e não tenho um servidor de testes instalado aqui no momento. Más a lógica é essa.

 

Obs.: ao reler sua postagem, vi que os pontos são armazenados nessa tabela "moedast", tão como você faz para ligar o fulano a essa tabela?

Dica, nessa tabela tem que ter um campo id_fulano, para que você possa relacionar com uma tabela de fulanos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então,

o nome da tabela é moedast e o UPDATE ocorrerá na coluna Resultado

 

aí eu fiz como você disse, criei uma variável e guardei os valores, mas o UPDATE não está alterando no registro.

Veja se é assim:

 

$pontuacao_anterior = "SELECT Resultado FROM moedast WHERE id_fulano = '11'";

if($op == '+') {
  $w = "UPDATE moedast SET Resultado = '$pontuacao_anterior' + '$adiciona' WHERE id_fulano = '11'";
  $r = mysql_query($w, $con);
}

  if($op == '-') {
    $w = "UPDATE moedast SET Resultado = '$pontuacao_anterior' - '$adiciona'  WHERE id_fulano = '11'";
    $r = mysql_query($w, $con);
  }

 

onde $adiciona é a variável que vem o valor enviado do formulário,

$con é a conexão com o BD,

$op é o operador

 

você diz criar uma coluna (id_fulano) além da id (padrão do mysql) para ajustar os valores?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O fulano é cadastrado na tabela moedast?

 

Se você vai atribuir pontos para algum fulano, seria interessante ter uma tabela só de fulanos.

 

Me passa a estrutura dessa tua tabela para que eu possa entender melhor...

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Para entender melhor, vou explicar o que é isso:

trata-se de um jogo de pontuações onde os jogadores vão acumulando pontos e estes ficam armazenados no banco de dados.

Conforme eles ganham pontos, eles preenchem o formulário. Se eles ganharam pontos, há um botão tipo 'submit' para soma, e o mesmo para subtração.

 

após o envio precisa ser feito o UPDATE de uma forma que possa somar e/ou subtrair os registros

depois de atualizados, os novos registros precisam ser exibidos de volta para o jogador, algo como "pontuação total"

 

o problema é o seguinte: o UPDATE não é feito após enviar.

alias, eu preciso por um código para mostrar o "pontuação total" para o jogador.

são esses dois problemas que estou enfrentando

 

o campo Resultado é tipo FLOAT no bd

 

o id no código é de um teste que estou fazendo.

por exemplo, o id 11 é o id da Maria. Maria está com 8 pontos. ao usar o formulário para enviar a nova pontuação, foi feito o update e Maria ficou com 9 pontos.

 

tendeu o jogo?

rs

<?php
// CONEXAO COM O BD
$host = "localhost";
$db   = "moedabqt";
$user = "root";
$pass = "";
$con = mysql_connect($host,$user,$pass);
if(mysql_select_db($db, $con)){
  echo "conexao bem sucedida"; //TESTE PARA GARANTIR QUE HÁ CONEXAO

}
else {
  echo"conexao falhou";
}

?>

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Formulário</title>
  </head>
  <body>
    <h2>Olá! Caso você tenha cumprido todas as tarefas, insira 0.25 em todas as lacunas. </h2>
  <form method="post" action="">

      <label for="iduniao">União: </label>
      <input type="text" name="txtuniao" id="iduniao" size="10" maxlength="20" required/>

      <label for="idgarra">Garra: </label>
      <input type="text" name="txtgarra" id="idgarra" size="10" maxlength="20" required/>

      <label for="iddis">Disciplina: </label>
      <input type="text" name="txtdis" id="iddis" size="10" maxlength="20" required/>

      <label for="idres">Respeito: </label>
      <input type="text" name="txtres" id="idres" size="10" maxlength="20" required/>

      <input type="submit" name="adiciona" value="+">
      <input type="submit" name="adiciona" value="-">


  </form>

  <?php
$iduniao = isset($_POST['txtuniao']) ? $_POST['txtuniao'] : 0;
$idgarra = isset($_POST['txtgarra']) ? $_POST['txtgarra'] : 0;
$iddis = isset($_POST['txtdis']) ? $_POST['txtdis'] : 0;
$idres = isset($_POST['txtres']) ? $_POST['txtres'] : 0;
$op= $_POST['adiciona'];
$pontuacao_anterior = "SELECT 'Resultado' FROM 'moedast' WHERE id = '11'";

if($op == '+') {
  $w = "UPDATE moedast SET Resultado = '$pontuacao_anterior' + '$adiciona' WHERE id = '11'";
  $r = mysql_query($w, $con);
}

  if($op == '-') {
    $w = "UPDATE moedast SET Resultado = '$pontuacao_anterior' - '$adiciona'  WHERE id = '11'";
    $r = mysql_query($w, $con);
  }

?>


  </body>
</html>

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 horas atrás, EnricoPre disse:

 

Para entender melhor, vou explicar o que é isso:

trata-se de um jogo de pontuações onde os jogadores vão acumulando pontos e estes ficam armazenados no banco de dados.

Conforme eles ganham pontos, eles preenchem o formulário. Se eles ganharam pontos, há um botão tipo 'submit' para soma, e o mesmo para subtração.

 

após o envio precisa ser feito o UPDATE de uma forma que possa somar e/ou subtrair os registros

depois de atualizados, os novos registros precisam ser exibidos de volta para o jogador, algo como "pontuação total"

 

o problema é o seguinte: o UPDATE não é feito após enviar.

alias, eu preciso por um código para mostrar o "pontuação total" para o jogador.

são esses dois problemas que estou enfrentando

 

o campo Resultado é tipo FLOAT no bd

 

o id no código é de um teste que estou fazendo.

por exemplo, o id 11 é o id da Maria. Maria está com 8 pontos. ao usar o formulário para enviar a nova pontuação, foi feito o update e Maria ficou com 9 pontos.

 

tendeu o jogo?

rs


<?php
// CONEXAO COM O BD
$host = "localhost";
$db   = "moedabqt";
$user = "root";
$pass = "";
$con = mysql_connect($host,$user,$pass);
if(mysql_select_db($db, $con)){
  echo "conexao bem sucedida"; //TESTE PARA GARANTIR QUE HÁ CONEXAO

}
else {
  echo"conexao falhou";
}

?>

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Formulário</title>
  </head>
  <body>
    <h2>Olá! Caso você tenha cumprido todas as tarefas, insira 0.25 em todas as lacunas. </h2>
  <form method="post" action="">

      <label for="iduniao">União: </label>
      <input type="text" name="txtuniao" id="iduniao" size="10" maxlength="20" required/>

      <label for="idgarra">Garra: </label>
      <input type="text" name="txtgarra" id="idgarra" size="10" maxlength="20" required/>

      <label for="iddis">Disciplina: </label>
      <input type="text" name="txtdis" id="iddis" size="10" maxlength="20" required/>

      <label for="idres">Respeito: </label>
      <input type="text" name="txtres" id="idres" size="10" maxlength="20" required/>

      <input type="submit" name="adiciona" value="+">
      <input type="submit" name="adiciona" value="-">


  </form>

  <?php
$iduniao = isset($_POST['txtuniao']) ? $_POST['txtuniao'] : 0;
$idgarra = isset($_POST['txtgarra']) ? $_POST['txtgarra'] : 0;
$iddis = isset($_POST['txtdis']) ? $_POST['txtdis'] : 0;
$idres = isset($_POST['txtres']) ? $_POST['txtres'] : 0;
$op= $_POST['adiciona'];
$pontuacao_anterior = "SELECT 'Resultado' FROM 'moedast' WHERE id = '11'";

if($op == '+') {
  $w = "UPDATE moedast SET Resultado = '$pontuacao_anterior' + '$adiciona' WHERE id = '11'";
  $r = mysql_query($w, $con);
}

  if($op == '-') {
    $w = "UPDATE moedast SET Resultado = '$pontuacao_anterior' - '$adiciona'  WHERE id = '11'";
    $r = mysql_query($w, $con);
  }

?>


  </body>
</html>

 

 

 

Estou mexendo aqui não seu código e agora compreendi o que você deseja fazer.

Existem muitas coisas que podem ser melhoradas aqui, estou modificando e vou deixar comentado o que fiz para que você adote algumas práticas que irão te ajudar muito ao codificar em PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, Consegui alterar o registro mysql via PHP

um passo andado

mas tem um detalhe:

  $sql  = 'UPDATE `moedast` SET `Nome` = \'Julia\', `Resultado`= `Resultado` + \'1\' WHERE `id`= \'3\'';

e

$sql  = 'UPDATE `moedast` SET `Nome` = \'Julia\', `Resultado`= `Resultado` - \'1\' WHERE `id`= \'3\'';

 

Desse jeito que está o código, ocorre a alteração que eu preciso.

Mas veja onde está +/- \'1\' WHERE `id`=\'3\'

 

o  valor 1 já está pré determinado na fórmula, nesse mesmo lugar eu preciso por minha variável $soma que recebeu os valores do formulário e a $sub, para subtrair.

O problema é que esses termos não são reconhecidos como variáveis, mas sim como uma palavra comum.

Ou seja, quando há um valor em \'x\' é feito o cálculo, mas quando há uma variável $x não funciona

Como eu faço para fazer ele reconhecer o valor armazenado em $soma e $sub?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou refazendo seu código

22 minutos atrás, EnricoPre disse:

Cara, Consegui alterar o registro mysql via PHP

um passo andado

mas tem um detalhe:


  $sql  = 'UPDATE `moedast` SET `Nome` = \'Julia\', `Resultado`= `Resultado` + \'1\' WHERE `id`= \'3\'';

e


$sql  = 'UPDATE `moedast` SET `Nome` = \'Julia\', `Resultado`= `Resultado` - \'1\' WHERE `id`= \'3\'';

 

Desse jeito que está o código, ocorre a alteração que eu preciso.

Mas veja onde está +/- \'1\' WHERE `id`=\'3\'

 

o  valor 1 já está pré determinado na fórmula, nesse mesmo lugar eu preciso por minha variável $soma que recebeu os valores do formulário e a $sub, para subtrair.

O problema é que esses termos não são reconhecidos como variáveis, mas sim como uma palavra comum.

Ou seja, quando há um valor em \'x\' é feito o cálculo, mas quando há uma variável $x não funciona

Como eu faço para fazer ele reconhecer o valor armazenado em $soma e $sub?

 

Estou refazendo seu código, instalei um servidor local aqui na minha máquina. A partir do que vou te enviar, você dá uma estudada e pega como base.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, não sei se tenho certeza de como você quer seu sistema, más lá vai. Testa aí e dá uma estudadinha abaixo para você ter como base.

 

<?php
// CONEXAO COM O BD
$host = "localhost";
$db = "moedabqt";
$user = "root";
$pass = "";
$con = mysql_connect($host, $user, $pass);
if (mysql_select_db($db, $con)) {
    echo "conexao bem sucedida"; //TESTE PARA GARANTIR QUE HÁ CONEXAO
} else {
    echo"conexao falhou";
}
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Formulário</title>
    </head>
    <body>
        <h2>Olá! Caso você tenha cumprido todas as tarefas, insira 0.25 em todas as lacunas. </h2>
        <form method="post" action="">

            <label for="iduniao">União: </label>
            <input type="text" name="txtuniao" id="iduniao" size="10" maxlength="20" required/>

            <label for="idgarra">Garra: </label>
            <input type="text" name="txtgarra" id="idgarra" size="10" maxlength="20" required/>

            <label for="iddis">Disciplina: </label>
            <input type="text" name="txtdis" id="iddis" size="10" maxlength="20" required/>

            <label for="idres">Respeito: </label>
            <input type="text" name="txtres" id="idres" size="10" maxlength="20" required/>

            <input type="submit" name="adiciona" value="+">
            <input type="submit" name="adiciona" value="-">


        </form>

        <?php
        if (isset($_POST['adiciona'])) {

            //obtenhos os pontos e armazeno num array pt
            $pt['id_uniao'] = mysql_real_escape_string(htmlspecialchars($_POST['txtuniao']));
            $pt['id_guarda'] = mysql_real_escape_string(htmlspecialchars($_POST['txtgarra']));
            $pt['id_dis'] = mysql_real_escape_string(htmlspecialchars($_POST['txtdis']));
            $pt['id_res'] = mysql_real_escape_string(htmlspecialchars($_POST['txtres']));

            //faço a soma dos pontos a armazeno o resultado na variável $total
            $total = $pt['id_uniao'] + $pt['id_guarda'] + $pt['id_dis'] + $pt['id_res'];

            //defino uma variável booleana que verifica se é pra adicionar ou remover alguma pontuação
            $is_adiciona = $_POST['adiciona'] == '+' ? true : false;

            //aqui eu fiz a leitura do fulano no banco, que é o registro 1
            $sql = "SELECT * FROM `moedast` WHERE id_fulano = '1';";
            $result = mysql_query($sql);

            //crio um array de associação da variável $result e armazeno na variável $r
            $r = mysql_fetch_assoc($result);

            if ($is_adiciona) { //se avariável for true
                add_pontos($total, $r);
            } else {//caso contrario, se for false
                remove_pontos($total, $r);
            }
        }

        //método para adicionar os pontos
        function add_pontos($pts, Array $fulano) {
            $sql = "UPDATE `moedast` SET `resultado`=" . $fulano['resultado'] . "+" . $pts . " WHERE (`id_fulano`='" . $fulano['id_fulano'] . "')";
            $exec = mysql_query($sql);
        }

        //método para remover os pontos
        function remove_pontos($pts, Array $fulano) {
            $sql = "UPDATE `moedast` SET `resultado`=" . $fulano['resultado'] . "-" . $pts . " WHERE (`id_fulano`='" . $fulano['id_fulano'] . "')";
            $exec = mysql_query($sql);
        }
        ?>
    </body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então,

o seu código altera os registros, mas a operação matemática está estranho.

Eu peguei o formulário e inseri valores e somei. Mas o resultado é diferente, aparece valores aleatórios, não sei o que está acontecendo

 

Por exemplo: Maria tem 8 pontos. No formulário, você preenche quatro campos, vamos supor que eu inseri 1+1+1+1

o resultado daria 12, certo?

Não, ele exibiu 3

Tentei de novo, coloquei outro valor, mas o resultado nunca sai de acordo com a operação. Eu somo e ele exibe um resultado inferior, eu subtraio e ele aparece um resultado somado...

Eu fiz umas adaptações, corrigi algumas coisas erradas,   mas tá muito estranho.

Seu código:

<?php
// CONEXAO COM O BD
$host = "localhost";
$db = "moedasbqt";
$user = "root";
$pass = "";
$con = mysql_connect($host, $user, $pass);
if (mysql_select_db($db, $con)) {
    echo "conexao bem sucedida"; //TESTE PARA GARANTIR QUE HÁ CONEXAO
} else {
    echo"conexao falhou";
}
?>

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Formulário</title>
    </head>
    <body>
        <h2>Olá! Caso você tenha cumprido todas as tarefas, insira 0.25 em todas as lacunas. </h2>
        <form method="post" action="">

            <label for="iduniao">União: </label>
            <input type="text" name="txtuniao" id="iduniao" size="10" maxlength="20" required/>

            <label for="idgarra">Garra: </label>
            <input type="text" name="txtgarra" id="idgarra" size="10" maxlength="20" required/>

            <label for="iddis">Disciplina: </label>
            <input type="text" name="txtdis" id="iddis" size="10" maxlength="20" required/>

            <label for="idres">Respeito: </label>
            <input type="text" name="txtres" id="idres" size="10" maxlength="20" required/>

            <input type="submit" name="adiciona" value="+">
            <input type="submit" name="adiciona" value="-">


        </form>

        <?php
        if (isset($_POST['adiciona'])) {

            //obtenhos os pontos e armazeno num array pt
            $pt['iduniao'] = mysql_real_escape_string(htmlspecialchars($_POST['txtuniao']));
            $pt2['idguarda'] = mysql_real_escape_string(htmlspecialchars($_POST['txtgarra']));
            $pt3['iddis'] = mysql_real_escape_string(htmlspecialchars($_POST['txtdis']));
            $pt4['idres'] = mysql_real_escape_string(htmlspecialchars($_POST['txtres']));

            //faço a soma dos pontos a armazeno o resultado na variável $total
            $total = $pt['iduniao'] + $pt2['idguarda'] + $pt3['iddis'] + $pt4['idres'];

            //defino uma variável booleana que verifica se é pra adicionar ou remover alguma pontuação
            $is_adiciona = $_POST['adiciona'] == '+' ? true : false;

            //aqui eu fiz a leitura do fulano no banco, que é o registro 1
            $sql = "SELECT * FROM `moedast` WHERE `id` = '2';";
            $result = mysql_query($sql);

            //crio um array de associação da variável $result e armazeno na variável $r
            $r = mysql_fetch_assoc($result);

            if ($is_adiciona) { //se avariável for true
                add_pontos($total, $r);
            } else {//caso contrario, se for false
                remove_pontos($total, $r);
            }
        }

        //método para adicionar os pontos
        function add_pontos($pts, Array $fulano) {
            $sql = "UPDATE `moedast` SET `resultado`=" . $fulano['adiciona'] . "+" . $pts . " WHERE (`id`='" . $fulano['id'] . "')";
            $exec = mysql_query($sql);
        }

        //método para remover os pontos
        function remove_pontos($pts, Array $fulano) {
            $sql = "UPDATE `moedast` SET `resultado`=" . $fulano['adiciona'] . "-" . $pts . " WHERE (`id`='" . $fulano['id'] . "')";
            $exec = mysql_query($sql);
        }
        ?>
    </body>
</html>

 

Aqui é meu código, faz as operações normal, mas não há um formulário para entrar valores. Toda vez que você clica em '+' ele soma 1 ponto. Se você clica em '-' ele subtrai.

 


<?php
// definições de host, database, usuário e senha
$host = "localhost";
$db   = "moedasbqt";
$user = "root";
$pass = "";
$con = mysql_connect($host,$user,$pass);
if(mysql_select_db($db, $con)){
  echo "conexao bem sucedida";

}
else {
  echo"conexao falhou";
}


?>

 


<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Formulário Torto</title>
  </head>
  <body>

    <h3> Adicione ou subtraia seus pontos. Cada clique equivale a 1 TORTO</h3>
    <form method="post" action="">

      <input type="submit" name="valor" value="+">
      <input type="submit" name="xvalor" value="-">

    </form>

    <?php

    $op= isset($_POST['valor']);
    $op2 = isset($_POST['xvalor']);

    if($op == '+') {
      $sql  = 'UPDATE `moedast` SET `Nome` = \'Maria\', `Resultado`= `Resultado` + \'1\' WHERE `id`= \'2\'';
      $r = mysql_query($sql, $con);
      echo "1 TORTO adicionado!";
      $sql = mysql_query('SELECT `Resultado` FROM `moedast` WHERE `id`=\'2\'');
while($exibe = mysql_fetch_assoc($sql)){
  echo $exibe['Resultado'] .'<br>';
}
    }

      if($op2 == '-') {
      $sql  = 'UPDATE `moedast` SET `Nome` = \'Maria\', `Resultado`= `Resultado` - \'1\' WHERE `id`= \'2\'';
        $r = mysql_query($sql, $con);
        echo "Xi! Menos 1!";
        $sql = mysql_query('SELECT `Resultado` FROM `moedast` WHERE `id`=\'2\'');
while($exibe = mysql_fetch_assoc($sql)){
  echo $exibe['Resultado'] .'<br>';
}
      }
     ?>
  </body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo, tudo corre certo com meu código. Está funcional.

 

A tabela antes da inserção dos pontos

59666612cbc60_tbantes.png.66877d3f86707877266b12b7d35bbd81.png

 

Seu formulário rodando aqui no meu servidor local:

form.png.f0a275ccd1850953dc02212f9773f17b.png

 

Estou inserindo 0,25 em cada coluna, que na somatória é para dar 1

596666644c8d0_formdepois.png.5ff7517e30ba2e61d06e22ba075feb96.png

 

Agora o resultado disso no banco de dados:

5966669dc014f_tbdepois.png.562bc023785c47bcc025b701e39bdf52.png

 

Agora vou diminuir 0,25 em duas lacunas, que somando estou diminuindo 0,5 do total de pontos do registro 1 no banco de dados

596666d119e86_formsub.png.ca1bee27539a30de84a69ba700ccd93c.png

 

Agora o resultado disso no banco:

596666ef121cd_tbdepoissub.png.c2e0bf202104083a471d83936f9563f9.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, é isso!

 

Eu criei uma tabela para testar seu código individualmente, e funciona mesmo!

 

só que tem mais um detalhe q não estou conseguindo arrumar.

você fez a quebra de valores, no meu 'resultado' ele não exibe valores quebrados igual ao seu. como você deixou? float? qual formato?

Compartilhar este post


Link para o post
Compartilhar em outros sites

uma ultima coisa !!

 

rs

 

o formulário deu certo, os valores são alterados

mas estou tentando dar um jeito de retornar esses valores alterados para o usuário no formulário

eu procurei na internet mas sempre q insiro um novo código da um erro

 

basicamente, depois que o usuário clicar em + ou - retorne o valor alterado no mysql para o formulário

 

eu havia usado esse código antes, mas no seu formulário não está resolvendo

        $sql = mysql_query('SELECT `resultado` FROM `moedast` WHERE `id`=\'1\'');
  while($exibe = mysql_fetch_assoc($sql)){
    echo $exibe['resultado'] .'<br>';

igual você mostrou antes, aquele 0,5 do JOSIMAR tem que voltar para que  o JOSIMAR possa ver o valor alterado

quando resolver isso eu fecho

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 horas atrás, EnricoPre disse:

$sql = mysql_query('SELECT `resultado` FROM `moedast` WHERE `id`=\'1\''); while($exibe = mysql_fetch_assoc($sql)){ echo $exibe['resultado'] .'<br>';

 

Você tem que executar o $sql

Ex: $resultset = mysql_query($sql);

 

Como você vai pegar apenas um resultado, então não precisa do while

 

$res = mysql_fetch_assoc($resultset);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui !

 

:p

 

mas usei while

ficou assim:

        $sql = "SELECT `resultado` FROM `moedast`";
        $exec = mysql_query($sql);
        while($sql = mysql_fetch_array($exec)){
        $n = $sql["resultado"];
        //onde $nome é a variavel que rerpresenta a coluna "nome" nessa
        //mesma tabela.
        echo "$n"; //exibindo o que foi achado na coluna "nome".

 

fechou @JosimarNew

agr só aplicar CSS

foi de muita ajuda

muito obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por violin101
      Caros amigos, saudações.
       
      Humildemente peço desculpa por postar uma dúvida que tenho.

      Preciso salvar no MySql, os seguinte Registro:

      1 - Principal
      ====> minha dúvida começa aqui
      ==========> como faço para o Sistema Contar Automaticamente o que estiver despois do 1.____?
      1.01 - Matriz
      1.01.0001 - Estoque
      1.01.0002 - Oficina
      etc

      2 - Secundário
      2.01 - Loja_1
      2.01.0001 - Caixa
      2.01.0002 - Recepção
      etc
       
      Resumindo seria como se fosse um Cadastro de PLANO de CONTAS CONTÁBEIL.

      Grato,


      Cesar









       
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a orientação dos amigos.

      Preciso fazer um Relatório onde o usuário pode Gerar uma Lista com prazo para vencimento de: 15 / 20/ 30 dias da data atual.

      Tem como montar uma SQL para o sistema fazer uma busca no MySql por período ou dias próximo ao vencimento ?

      Tentei fazer assim, mas o SQL me traz tudo:
      $query = "SELECT faturamento.*, DATE_ADD(faturamento.dataVencimento, INTERVAL 30 DAY), fornecedor.* FROM faturamento INNER JOIN fornecedor ON fornecedor.idfornecedor = faturamento.id_fornecedor WHERE faturamento.statusFatur = 1 ORDER BY faturamento.idFaturamento $ordenar ";  
      Grato,
       
      Cesar
       
       
       
       
    • Por violin101
      Caros amigos, saudações
       
      Por favor, me perdoa em recorrer a orientação dos amigos, tenho uma dúvida.
       
      Gostaria de uma rotina onde o Sistema possa acusar para o usuário antes dos 30 dias, grifar na Tabela o aviso de vencimento próximo, por exemplo:
       
      Data Atual: 15/11/2024
                                           Vencimento
      Fornecedor.....................Data.....................Valor
      Fornecedor_1...........01/12/2024..........R$ 120,00 <== grifar a linha de Laranja
      Fornecedor_1...........01/01/2025..........R$ 130,00
      Fornecedor_2...........15/12/2024..........R$ 200,00 <== grifar a linha de Amarelo
      Fornecedor_2...........15/01/2025..........R$ 230,00
      Fornecedor_3...........20/12/2024..........R$ 150,00
       
      Alguém tem alguma dica ou leitura sobre este assunto ?

      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer a ajuda dos amigos, mas preciso entender uma processo que não estou conseguindo sucesso.

      Como mencionado no Título estou escrevendo um Sistema Web para Gerenciamento de Empresa.
       
      Minha dúvida, que preciso muito entender:
      - preciso agora escrever a Rotina para Emissão de NFe e essa parte não estou conseguindo.
       
      tenho assistido alguns vídeos e leituras, mas não estou conseguindo sucesso, já fiz toda as importações das LIB da NFePhp conforme orientação.

      Preciso de ajuda.

      Algum dos amigos tem conhecimento de algum passo-a-passo explicando a criação dessa rotina ?

      tenho visto alguns vídeos com LARAVEL, mas quando tento utilizar e converter para PHP+Codeiginter, dá uma fila de erros que não entendo, mesmo informando as lib necessárias.

      Alguns do amigo tem algum vídeo, leitura explicando essa parte ?

      Grato,

      Cesar.
    • Por violin101
      Caros amigos, saudações.

      Por favor, me perdoa em recorrer ao auxílio dos amigos, mas preciso entender e resolver um problema.
       
      Tenho uma Rotina que o usuário seleciona os produtos que deseja para requerer ao setor responsável.
       
      O usuário escolhe um produto qualquer e Clicla em um button para incluir a lista.

      O problema que estou enfrentando é que após escolher o produto e teclar ENTER o Sistema já salva no BD.
       
      Gostaria de criar uma Tecla de Atalho, para quando incluir/escolher o produto na lista, o usuário tecla como exemplo:
      ALT+A  para agregar a lista
      ALT+S para salvar a lista de itens desejados.

      Assim, quando teclar enter, o sistema não dispara o GRAVAR na Base de Dados.

      Grato,

      Cesar
       
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.