Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 411
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

somar valores de grupos e listar

17-06-2013 17:42

A soma esta ok, a listagem que esta errada, preciso listar por itens em grupo.
<?php $caixa2 = mysql_query ("SELECT data_cart, tipo_cart, SUM(val_cart) AS val FROM cart GROUP BY  data_cart, tipo_cart") or die (mysql_error());           ?>             <table width="100%">         <thead>               <tr>                 <th>Data</th>                 <th>Entrada</th>                 <th>Saida</th>                 <th>Saldo</th>                                </tr>               </thead>         <?php while($row = mysql_fetch_array($caixa2)) {          if($tipo_cart = 1){             $val01 = $row['val'];         }          else {             $val02 = $row['val'];             }         $saldo = $val01 - $val02;         ?>         <tbody>               <tr>                 <td><?php echo implode("/",array_reverse(explode("-",$row['data_cart']))); ?></td>                 <td><?php echo number_format($val01, 2,',',''); ?></td>                 <td><?php echo number_format($val02, 2,',',''); ?></td>                 <td><?php echo number_format($saldo, 2,',',''); ?></td>                                </tr>               </tbody>         <?php } ?>             </table>

deveria aparecer assim :
data - entrada - saida - saldo
17/06 - 15,00 - 5,00 - 10,00

esta aparecendo assim :
data - entrada - saida - saldo
17/06 - 0,00 - 5,00 - 5,00
17/06 - 0,00 - 15,00 - 15,00
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

somar valores de grupos e listar

17-06-2013 18:40

Tem como passar o sql com os dados dessa tabela?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 411
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

somar valores de grupos e listar

17-06-2013 18:48


CREATE TABLE IF NOT EXISTS `cart` (   `id_cart` INT(10) NOT NULL AUTO_INCREMENT,   `data_cart` DATE NOT NULL DEFAULT '0000-00-00',   `tipo_cart` INT(10) NOT NULL,   `cart_cart` INT(10) NOT NULL,   `vez_cart` INT(10) NOT NULL,   `val_cart` FLOAT(10,2) DEFAULT NULL,   PRIMARY KEY (`id_cart`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;   -- -- Extraindo dados da tabela `cart` --   INSERT INTO `cart` (`id_cart`, `data_cart`, `tipo_cart`, `cart_cart`, `vez_cart`, `val_cart`) VALUES (10, '2013-06-17', 1, 4, 12, 5000.01), (7, '2013-06-17', 1, 1, 1, 25.00), (8, '2013-06-17', 2, 11, 31, 20.00), (9, '2013-06-17', 2, 13, 33, 2500.00);

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

somar valores de grupos e listar

17-06-2013 18:58

Qual é a relação Entrada, Saida e Saldo, na tabela que você passou?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 411
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

somar valores de grupos e listar

17-06-2013 21:33

simplifiquei a tabela dentro do que preciso.
a relação é tipo_cart =1 é entrada , tipo_cart = 2 é saída , o saldo é a subtração dos dois, val_cart = valor de cada um .

CREATE TABLE IF NOT EXISTS `cart` (   `id_cart` INT(10) NOT NULL AUTO_INCREMENT,   `data_cart` DATE NOT NULL DEFAULT '0000-00-00',   `tipo_cart` INT(10) NOT NULL,   `val_cart` FLOAT(10,2) DEFAULT NULL,   PRIMARY KEY (`id_cart`) ) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;   -- -- Extraindo dados da tabela `cart` --   INSERT INTO `cart` (`id_cart`, `data_cart`, `tipo_cart`, `val_cart`) VALUES (10, '2013-06-17', 1, 10.00), (7, '2013-06-17', 1, 5.00), (8, '2013-06-17', 2, 2.00), (9, '2013-06-17', 2, 3.00);

o que eu quero é pegar somar as entradas e subtrair da soma da saída e listar assim:
data - entrada - saida - saldo
17/06/2013 - 15,00 - 5,00 - 10,00

esta aparecendo assim :
data - entrada - saida - saldo
17/06/2013 - 0,00 - 5,00 - 5,00
17/06/2013 - 0,00 - 15,00 - 15,00

espero que tenha entendido.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

somar valores de grupos e listar

17-06-2013 21:49

A tabela que passou só tem uma coluna correspondente a valor.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 411
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

somar valores de grupos e listar

17-06-2013 21:58

Pelo q to vendo, o erro esta na lógica da tabela, realmente , vai ser mais simples, fácil e correto criar os valores de entrada e saída separados, assim fica mais fácil, vlw ! depois posto aqui a solução.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

somar valores de grupos e listar

17-06-2013 22:04

Não sei o objetivo da tabela, mas creio que não seja complicado, por exemplo, com essa última tabela que mandou, eu fiz o seguinte

SELECT *, SUM(val_cart) AS soma1, SUM(tipo_cart) AS soma2 FROM cart GROUP BY data_cart

Uma das datas do bd eu alterei para dia 15, o que resultou em

$data_cart - $soma1 - $soma2 //2013-06-15 - 3.00 - 2 //2013-06-17 - 17.00 - 4   

Agora, eu fiz o seguinte

SELECT *, SUM(val_cart) AS soma1, SUM(tipo_cart) AS soma2, SUM(val_cart)-SUM(tipo_cart) AS total  FROM cart GROUP BY data_cart

O que resultou em

$data_cart - $soma1 - $soma2: $total //2013-06-15 - 3.00 - 2: 1.00 //2013-06-17 - 17.00 - 4: 13.00   

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 411
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

somar valores de grupos e listar

17-06-2013 22:39

Não era isso, pois, tipo_cart é um id passado de outra tabela , onde define se é entrada ou saída ( 1 ou 2 ), para facilitar eu criei o campo sai_cart na tabela, assim ficam cadastrados entrada em sua coluna e saída na sua. tipo :

SELECT data_cart, SUM(val_cart) AS v01, SUM(sai_cart) AS v02 FROM cart GROUP BY  data_cart

Esta Ok.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17736
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

somar valores de grupos e listar

18-06-2013 10:01

Eu vi que tipo_cart não era o campo da subtração, só usei como exemplo, porque não tinha outra coluna.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado