-
Content count
21 -
Joined
-
Last visited
Community Reputation
0 ComumAbout Alessandro Almeida

Contato
-
Barbaridade! Obrigado por sua simplicidade e genialidade! Perfeito a solução cara! eu estava a 3 dias estudando e a exaustão não me deixou chegar nessa objetividade! Muito Obrigado!
-
Entendi a dica de alterar o diagrama do BD, mas já fiz 12mil linha de código seguindo esse diagrama Olha só: 1. São 428 linhas nessa tabela MATERIAL 2. Atualmente uso essa consulta: SELECT m1.material, m1.quantidade, totalquantidade, m1.minimoestoque FROM ( SELECT material, unidades, SUM(quantidade) as totalquantidade, minimoestoque FROM material GROUP BY material ) m1 ORDER BY m1.material ASC 3. Perceba que são várias filais para cada material, ou seja, várias linhas cada material. ID quantidade minimoestoque filial material 1 31 2 BR01 Mouse 2 0 2 BR02 Mouse 3 0 2 BR03 Mouse 4 0 2 BR04 Mouse 5 17 2 BR05 Mouse 6 5 3 BR01 Cabo VGA 7 3 3 BR02 Cabo VGA 8 2 3 BR03 Cabo VGA 9 2 3 BR04 Cabo VGA 10 2 3 BR05 Cabo VGA Preciso fazer a variável $dados[quantidade] interpretar a quantidade de cada material em cada filial. echo "background-color:rgba(255,0,0,0.2); } ?> No momento só consigo consultar a primeira linha por causa do GROUP BY material. Então o PHP acima só vai entender se eu alterar a quantidade do material de BR01. Resumindo: Preciso de uma consulta que se qualquer filial tiver com estoque mínimo, aconteça isso : echo "background-color:rgba(255,0,0,0.2);"
-
Essa consulta retorna a primeira linha de cada FILIAL. Será que não encaixa um VIEW e JOIN?
-
TABELA MATERIAL ID quantidade minimoestoque filial material 1 31 2 BR01 Mouse 2 0 2 BR02 Mouse 3 0 2 BR03 Mouse 4 0 2 BR04 Mouse 5 17 2 BR05 Mouse 6 5 3 BR01 Cabo VGA 7 3 3 BR02 Cabo VGA 8 2 3 BR03 Cabo VGA 9 2 3 BR04 Cabo VGA 10 2 3 BR05 Cabo VGA
-
Entendeu? Eu quero que o $dados['quantidade'] interprete cada valor das cinco filiais para ter um destaque quando alguma filial está menor ou igual o estoque mínimo.
-
SELECT m1.material, m1.quantidade, totalquantidade, m1.minimoestoque FROM ( SELECT material, unidades, SUM(quantidade) as totalquantidade, minimoestoque FROM material GROUP BY material ) m1 ORDER BY m1.material ASC Retornou isso: Mouse 31 48 2 Mas tenho 5 linhas com MOUSE em filiais distintas e só retornou o valor da primeira linha, ou seja da primeira filial. echo '<pre>'; print_r( $dados ); echo '</pre>'; retornou isso: Array ( [0] => Mouse [material] => Mouse [1] => 31 [quantidade] => 31 [2] => 48 [totalquantidade] => 48 [3] => 2 [minimoestoque] => 2 )
-
Obrigado pela dica! Mas deu no mesmo. A varíavel $cor_bg retorna o mesmo valor que $dados[' quantidade ']. Um exemplo: equipamento | minimoestoque | quantidade | filial mouse | 2 | 5 | BR01 mouse | 2 | 3 | BR02 mouse | 2 | 6 | BR03 mouse | 2 | 3 | BR04 mouse | 2 | 2 | BR05 No BD tenho 5 linhas com esse equipamento. E retorna só o valor da primeira linha.
-
Não entendi
-
-
Segue código: $busca_query = mysql_query("SELECT m1.material, m1.quantidade, totalquantidade, m1.minimoestoque FROM ( SELECT material, unidades, SUM(quantidade) as totalquantidade, minimoestoque FROM material GROUP BY material ) m1 WHERE m1.material LIKE '%$busca%' AND totalquantidade LIKE '%$busca1%' ORDER BY m1.material ASC")or die(mysql_error());//faz a busca com as palavras enviadas if (empty($busca_query)) { //Se não achar nada, lança essa mensagem echo "Nenhum registro encontrado."; } // quando existir algo em '$busca_query' ele realizará o script abaixo. while ($dados = mysql_fetch_array($busca_query)) { ?> <tr style="<?php if ( $dados[quantidade] <= $dados[minimoestoque]){ echo "background-color:rgba(255,0,0,0.2);" ; } ?>"> A variável $dados[quantidade] recebe apenas o valor da primeira linha do GROUP BY material. São 5 linhas para cada material. Preciso que interprete o valor de cada linha.
-
Pintou mais uma nesse mesmo tópico: $busca_query = mysql_query("SELECT m1.material, m1.quantidade, totalquantidade, m1.minimoestoque FROM ( SELECT material, unidades, SUM(quantidade) as totalquantidade, minimoestoque FROM material GROUP BY material ) m1 WHERE m1.material LIKE '%$busca%' AND totalquantidade LIKE '%$busca1%' ORDER BY m1.material ASC")or die(mysql_error());//faz a busca com as palavras enviadas if (empty($busca_query)) { //Se não achar nada, lança essa mensagem echo "Nenhum registro encontrado."; } // quando existir algo em '$busca_query' ele realizará o script abaixo. while ($dados = mysql_fetch_array($busca_query)) { ?> <tr style="<?php if ( $dados[quantidade] <= $dados[minimoestoque]){ echo "background-color:rgba(255,0,0,0.2);" ; } ?>"> A variável $dados[quantidade] recebe apenas o valor da primeira linha do GROUP BY material. São 5 linhas para cada material. Preciso que interprete o valor de cada linha.
-
O meu! Deu certo! Vou implemenntar um PHP para da valor a variável "data". Perfeito Motta! Obrigado!
-
Acho que estou enferrujado em MYSQL. Não consegui encaixar JOIN nesse código. Eu conseguir encaixar um WHERE mas duplicou as colunas. select * from (SELECT * FROM `inventario` WHERE data = '11/01/2018') mes1, (SELECT * WHERE FROM `inventario` data = '11/02/2018') mes2 where mes1.usuario = mes2.usuario
-
Desculpe. Eu não formulei a pergunta corretamente. Deve ter sido o exaustão. Vou explicar o conceito dessa consulta: 1. Existe um inventário mensal com todos os ativos 2. As colunas são id,ativo,tipodeativo,marcamodelo,status,usuario,centrodecusto,filial,data 3. Estou no terceiro mês ou subsequente a ele(quarto, quinto sexto etc...) Como irei consultar a diferença do último inventário, ou seja, a diferença das últimas duas datas? exemplo: id ativo tipodeativo marcamodelo status usuario centrodecusto filial data 1 12345678 celular positivo p30 in use alessandro.albuquerque 561308 br04 11/01/2018 2 12345678 celular positivo p30 in use diego.bordini 561308 br01 11/02/2018 3 12345678 celular positivo p30 in use alisson.brito 561308 brn1 11/03/2018 4 12345678 celular positivo p30 in use alessandro.albuquerque 561341 br04 11/04/2018 5 12345678 celular positivo p30 in use carlos.augusto 561308 br02 11/05/2018
-
Pessoal, Eu preciso exibir as linhas que houveram alguma alteração de acordo com a DATA. Segue o código: SELECT * FROM `inventario` WHERE usuario NOT IN (SELECT usuario FROM `inventario` where data='11/01/2018') Obs: Se houver alteração em algum campo de outra coluna não irá exibir. Como posso acrescentar nesse código que exibe qualquer alteração? id ativo tipodeativo marcamodelo status usuario centrodecusto filial data 1 12345678 celular positivo p30 in use alessandro.albuquerque 561308 br04 11/01/2018 2 12344321 celular positivo p30 in use diego.bordini 561308 br01 11/01/2018 3 43211234 celular positivo p30 in use alisson.brito 561308 brn1 11/01/2018 9 87654321 celular positivo p30 in use alessandro.albuquerque 561308 br04 11/01/2018 4 12345678 celular positivo p30 in use carlos.augusto 561308 br04 11/02/2018 5 12344321 celular positivo p30 in use diego.bordini 561308 br01 11/02/2018 6 43211234 celular positivo p30 in use alisson.brito 561308 brn1 11/02/2018 7 87654321 celular positivo p30 in use alessandro.albuquerque 561331 br04 11/02/2018 No exemplo acima, o usuário alessandro.abuquerque mudou o Centro de Custo e exibiu apenas a mudança de usuário.
-
Feito! SELECT m1.material, m1.quantidade FROM ( SELECT material, SUM(quantidade) as quantidade FROM material GROUP BY material ) m1 WHERE m1.material LIKE '%$busca%' AND m1.quantidade LIKE '%$busca1%' ORDER BY m1.material ASC