Jump to content

Recommended Posts

Boa noite, quero fazer uma subtração de array entre duas tabelas.

 

Tenho uma tabela "A", com duas coluna "matricula" e "pagamento".

Tenho outra tabela "B", com uma coluna "matricula" e "pedido".

 

Quero receber esses valores e listar em uma tabela os nomes e os respectivos valores dessa subtração (individualmente - 1 linha pra cada nome).

Tabela A

matricula          pedido

111                           18

222                           10

333                            7

 

Tabela B

matricula          pagamento

111                           18

222                            6

333                            0

 

Exibição do Resultado

matricula                saldo

111                              0

222                              4

333                              7

 

Se alguém conseguir me ajudar, agradeço muito.

Share this post


Link to post
Share on other sites

Oi! xD

 

Não sei bem se a questão é com o PHP aí... Pode fazer isto direto na consulta ao banco de dados.

A questão é: estes dados vem do db (mysql, sql server, postgre...) ou você realmente só tem os arrays diretamente no PHP? 

Share this post


Link to post
Share on other sites

Casos de saldo, como estoque, caixa, etc... É melhor que os dados sejam calculados no insert/update e armazenados em alguma coluna de resultado. Ter que calcular constantemente esses valores se tornará custoso ao longo do tempo. Para eventuais relatórios, aí sim, pode ser calculado via query.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By unset
      Olá, estou com uma falha de lógica pegando aqui se alguém puder ajudar
       
      Eu tenho um formulário tranquilo, como abaixo
      <label for="cidades" class="form-label">Cidades</label> <select class="form-select mb-3" name="cidades[]" id="cidades" multiple="multiple"> <option value="1">Cidade 1</option> <option value="2">Cidade 2</option> <option value="3">Cidade 3</option> <option value="4">Cidade 4</option> <option value="5">Cidade 5</option> </select>  
      Blz eu recebe os dados do formulário ou seja os ids da cidade certinho em um array 
       
      array(3) { [0]=> string(1) "2" [1]=> string(2) "3" [1]=> string(1) "5" }
      <?php $dados = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRIPPED); var_dump($dados); ?> Agora como inserir todos os ids no banco? utilizando um for? um while? algum exemplo?
       
      Pergunto pq ao tentar inserir no banco somente um registro é inserido e não todos do select
       
    • By luigiferrari
      Gostaria de fazer um programa onde o usuário digitaria o tamanho de conjuntos e quantas linhas possui os conjuntos, exemplo:

      Seguindo, o programa perguntaria qual conjunto o usuário quer adicionar o valor, e então o valor seria adicionado nas linhas, e qnd cheio, seria o FIFO.
      Mas minhas principais duvidas seriam:
      1- Como eu crio um vetor dentro de outro (não necessariamente precisa ser um vetor, aceito sugestões de como fazer isso)
      2- Caso eu faça com o vetor, teria que gerar x vetores, por exemplo, caso o usuário colocasse em "qts conjuntos: 5" teria que criar 5 conjuntos(vetores) diferentes. Como faço isso?!
      Lembrando aceito qualquer sugestão, estou fazendo em C# mas tbm entendo de Python e PHP caso tenha alguma ideia.
    • By marcossantana10
      Faço uma consulta no banco para buscar uma lista de horários, depois preciso comparar esse resultado com um array só de horários que eu possuo. Utilizei o código abaixo pra isso:
       
      //dados do array $h_indisponiveis separados por _ (ilustrativo) 13:20:00_13:40:00_14:00:00_14:20:00_18:40:00_19:00:00_21:20:00 $sql = "MINHA CONSULTA"; $sql=$pdo->query($sql); if ($sql->rowCount() > 0) { $result = array('error'=>false, 'data' => array()); foreach ($sql as $row) { $horario['id'] = $row['id']; $horario['hora'] = $row['hora']; $horario['tempo'] = $row['tempo']; for($i=0; $i<$sizeArray; $i++){ if ($h_indisponiveis[$i] == $row['hora']){ $horario['disponivel'] = 'n'; } else { $horario['disponivel'] = 's'; } } array_push($result['data'], $horario); } echo json_encode($result); }  
      O problema é que ele não está retornando todas as correspondências entre o objeto da consulta e o array, apenas a última. Ao invés de marcar 6 resultados como "disponivel = n", ele só marca um. Como posso corrigir
       

    • By dearclexa
      Estou tentando manipular um array e agrupar os dados de produtos por nome de fornecedor igual.   A minha array retorna os produtos que eu tenho por fornecedor, quando o mesmo fornecedor tem mais de um produto ele me retorna em arrays separadas, e gostaria de agrupar esses dados. Tentei de algumas formas, porém sem sucesso.
       
      Retorno do meu array:
      Array ( [nrochamado] => 10780 [cnpjFornecedor] => 111111111000111 [nmFornecedor] => FORNECEDOR TESTE 01 [cdproduto] => ML2 [nmproduto] => ESCOVA [quantidade] => 10 [unidade] => UN [vlfornecedor] => .00000 [dtnecessidade] => 30/04/2021 [dtentrega] => ) Array ( [nrochamado] => 10780 [cnpjFornecedor] => 111111111000111 [nmFornecedor] => FORNECEDOR TESTE 01 [cdproduto] => EV1 [nmproduto] => PANO DE LIMPEZA [quantidade] => 5 [unidade] => UN [vlfornecedor] => .00000 [dtnecessidade] => 30/04/2021 [dtentrega] => ) Como espero que retorne:
      Array ( [nrochamado] => 10780 [cnpjFornecedor] => 111111111000111 [nmFornecedor] => FORNECEDOR TESTE 01 [produtosItens] => Array( [cdproduto] => ML2 [nmproduto] => ESCOVA [quantidade] => 10 [unidade] => UN [vlfornecedor] => .00000 [dtnecessidade] => 30/04/2021 [dtentrega] => ) ( [cdproduto] => EV1 [nmproduto] => PANO DE LIMPEZA [quantidade] => 5 [unidade] => UN [vlfornecedor] => .00000 [dtnecessidade] => 30/04/2021 [dtentrega] => ) ) É possível ?
    • By Helinho Coelho
      Olá eu tenho um Array Multidimensional e gostaria que ele ficasse simples, mas com os valores tendo suas respectivas chaves mantidas.
       
      Segue o meu Array atual que é multidimensional:
      Array ( [KEY001] => Array ( [0] => 7 [1] => 22 ) [KEY002] => Array ( [0] => 4 [1] => 19 ) [KEY003] => Array ( [0] => 13 [1] => 21 [2] => 22 ) )  
      Mas eu gostaria de obter o resultado abaixo em um Array simples:
      Array ( [KEY001] => 7 [KEY001] => 22 [KEY002] => 4 [KEY002] => 19 [KEY003] => 13 [KEY003] => 21 [KEY003] => 22 )  
      É possível fazer isso com algum tipo de foreach no PHP?
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.