Dynamically add sql query value in variable

Asked

Viewed 211 times

0

I have a table (employees), where I want to take the value of id_funcao, id_percentage and put in this variable $percentage. Not only do I want to put the 30%, but the values of the Percentage table.

    $datainicio = $_POST["inicio"]; // data inicio do form
    $datafim    = $_POST["fim"]; // data fim do form
    $nome       = $_POST["nome"]; // data fim do form

    if ($datainicio == $datafim) {
      $datainicio = date('Y-m-d', strtotime($datainicio . ' +1 day'));
    $sql = mysql_query(
          "SELECT SUM(a.valor) AS soma, SUM(a.gorjetas) AS FuncionarioGorjetas, a.start, a.procedimento
          f.id_funcao
          FROM agenda AS a 
          INNER JOIN funcionarios AS f ON f.nome_funcionario = a.nome_funcionario 
          WHERE 
          f.nome_funcionario = '$nome' AND 
          start <= '$datainicio' AND end >= '$datafim'
          GROUP BY a.nome_funcionario, a.procedimento, f.nome_funcionario"
      );

        } elseif ($datainicio != $datafim) {
            $datafim = date('Y-m-d', strtotime($datafim . ' +1 day'));
            $sql = mysql_query(
              "SELECT SUM(a.valor) AS soma, SUM(a.gorjetas) AS FuncionarioGorjetas, a.start, a.procedimento
              FROM agenda AS a 
              INNER JOIN funcionarios AS f ON f.nome_funcionario = a.nome_funcionario 
              WHERE 
              f.nome_funcionario = '$nome' AND 
              start >= '$datainicio' AND end <= '$datafim'
              GROUP BY a.nome_funcionario, a.procedimento, f.nome_funcionario"
          );

        } elseif ($datainicio != $datafim) {
            $datafim = date('Y-m-d', strtotime($datafim . ' +1 day'));
            $sql = mysql_query(
              "SELECT SUM(a.valor) AS soma, SUM(a.gorjetas) AS FuncionarioGorjetas, a.start, a.procedimento
              FROM agenda AS a 
              INNER JOIN funcionarios AS f ON f.nome_funcionario = a.nome_funcionario 
              WHERE 
              f.nome_funcionario = '$nome' AND 
              start >= '$datainicio' AND end <= '$datafim'
              GROUP BY a.nome_funcionario, a.procedimento, f.nome_funcionario"
          );

        } else {
            $datafim = date('Y-m-d', strtotime($datafim . ' -1 day'));
            $sql = mysql_query(
              "SELECT SUM(a.valor) AS soma, SUM(a.gorjetas) AS FuncionarioGorjetas, a.start, a.procedimento
              FROM agenda AS a 
              INNER JOIN funcionarios AS f ON f.nome_funcionario = a.nome_funcionario 
              WHERE 
              f.nome_funcionario = '$nome' AND 
              start <= '$datainicio' AND end <= '$datafim'
              GROUP BY a.nome_funcionario, a.procedimento, f.nome_funcionario"
          );

    }

    $html_procedimentos = "";

    $total = mysql_num_rows($sql);  
    while ($dados = mysql_fetch_array($sql)) {

        $percentual = 70.0 / 100.0;//Desejo esse valor de forma dinâmica pelo id
        $valor         = $dados["soma"];
        $procedimento  = $dados["procedimento"];
        $gorjetas      = number_format($dados['FuncionarioGorjetas'], 2, ',', '.'); 


     $valor_soma += $valor; 
     $serv_gorj = ($valor - ($percentual * $valor) + $gorjetas); 
     $valor_atual = number_format($valor - ($percentual * $valor), 2, ',', ' ');
     $valor_final += $serv_gorj;

     $html_procedimentos .= "<br />
      <div> 
        <b>Valor:</b> R$ $valor_atual
      </div>
      <div> 
        <b>Gorjetas:</b> R$ $gorjetas
      </div>
      <div> 
        <b>Procedimentos:</b> R$ $procedimento
      </div>
    ";
    }

   $valor_soma = number_format($valor_soma, 2, ',', ' ');

   $valor_final = number_format($valor_final, 2, ',', ' '); 
  echo "
    <div class='page-header'> 
      <h2>Resultados:</h2> 
    </div> 
    <div class='row'> 
      <div class='col-sm-12'> 
        <div class='panel panel-primary'> 
          <div class='panel-heading'> 
            <h3 class='panel-title'>$nome</h3> 
          </div>
          <div class='panel-body'>

          <div>
              <h2 class='btn btn-success'><b>Total dos Serviços:</b> R$ $valor_soma</h2> 
            </div>

            <div>
              <h2 class='btn btn-danger'><b>Total à Receber:</b> R$ $valor_final</h2> 
            </div>

            $html_procedimentos
          </div>
        </div>        
      </div>
    </div>
  ";

}

Table Employees

inserir a descrição da imagem aqui

Funcao Table

inserir a descrição da imagem aqui

Table Percentage

inserir a descrição da imagem aqui

1 answer

1


Problem solved, added the following lines:

In SQL queries I added another;

INNER JOIN porcentagem AS p ON f.id_porcentagem = p.id_porcentagem

And below the while I added:

$percentual = $dados["numero_porcentagem"] / 100.0;

Browser other questions tagged

You are not signed in. Login or sign up in order to post.