4
respostas

Levar o valor do total para dentro de uma div de outra pagina

Boa noite! no vídeo: "Selecionando e manipulando elementos" foi mostrado como devolver o valor total em uma div de pagina. Gostaria de saber se tem como levar esse valor total para um input ou div de uma outra pagina. se sim como posso fazer?

4 respostas

Oi Tacio, tudo bem? Para transitar informações entre duas páginas diferentes, você vai precisar de uma outra linguagem, uma que rode no servidor para transitar a informação entre os requests e responses do servidor. Isso tradicionalmente falando. Essa linguagem pode ser PHP, Java, Ruby, C#, JavaScript (com NodeJS). E dependendo da linguagem, a abordagem vai ser diferente.

É possível fazer sem essas linguagens, mas eu não recomendo essa abordagem.

Blz, Eu tenho os seguintes códigos

Pagina valores da tabelas

<?php
require("cabecalho.php");
require("conecta_banco.php");
require("funcoes.php");
?>

<?php 
if(array_key_exists("removido", $_GET) && $_GET['removido']=='true') { 
    ?>
    <p class="alert-success text-center">Receita removido com sucesso!</p>
<?php 
} 

?>

<div id="page-wrapper">
    <div class="container-fluid">
        <div class="row">
            <div class="col-lg-12">
                <h1 class="page-header">
                   Receita - <small>Lista de Receitas</small>
                </h1>
                    <ol class="breadcrumb">
                        <li>
                            <i class="fa fa-dashboard"></i>  <a href="home.php">Painel Home</a>
                        </li>
                        <li class="active">
                            <i class="fa fa-group"></i> Lista de Receitas
                        </li>
                       </ol>
               </div>
        </div>
            <div class="table-responsive">
                <table class="table table-striped table-hover">
                    <thead>
                        <tr>
                            <th>PAGADOR</th>
                            <th>CPF/CNPJ</th>
                            <th>DATA DE PAGAMENTO</th>
                            <th>VALOR</th>
                            <th>OPÇÕES</th>
                        </tr>
                    </thead>
                    <?php 
                        $receitas = listarReceitas($conexao);
                        foreach($receitas as $receita):// Abrir o foreach
                    ?>
                    <tr>
                        <td><?=$receita['nome_cliente']?></td><!--choma o nome que está no banco de dados-->
                        <td><?=$receita['cnpj_cpf_cliente']?></td>
                        <td><?=$receita['data_recebimento']?></td>
                        <td class="item_total"><?=$receita['valor_recebido']?></td>
                        <td><a class="btn btn-info" href="altera_formulario_receita.php?id=<?=$receita['id']?>"><span class="glyphicon glyphicon-pencil"></span> Editar</a></td>
                        <td>
                            <form action="remove_receita.php?id=<?=$receita['id']?>" method="post">
                                <button class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span> Deletar</button>
                            </form>
                        </td>
                    </tr>
                    <?php endforeach // fechamento do foreach ?>
                </table>
                <div>
                    <p class="text-center">Valor Total: R$ <span id="valor-total">0</span></p>
                </div>
            </div>
        </div>
    </div>
</div>
<script src="js/jquery.js"></script>
<script>
    var itens =$(".item_total");
    var total = 0;
    for(var i=0; i <itens.length; i++){
        var item = $(itens[i]);
        var valor = parseFloat(item.text());
        total = total + valor;
    }
    $("#valor-total").text(total);
</script>
<?php require('rodape.php');?>

Pagina onde gostaria que mostrasse o valor dentro da: div com spam de id="valor-total"

<?php 
require('cabecalho.php');
?>
            <div id="page-wrapper">

            <div class="container-fluid">

                <!-- Page Heading -->
                <div class="row">
                    <div class="col-lg-12">
                        <h1 class="page-header">
                            Adeilson Andrade <small>Estatisticas</small>
                        </h1>
                        <ol class="breadcrumb">
                            <li class="active">
                                <i class="fa fa-dashboard"></i> Painel Home
                            </li>
                        </ol>
                    </div>
                </div>
                <!-- /.row -->

                <div class="row">

                    <div class="col-lg-6 col-md-6">
                        <div class="panel panel-green">
                            <div class="panel-heading">
                                <div class="row">
                                    <div class="col-xs-3">
                                        <i class="fa fa-money fa-3x"></i>
                                    </div>
                                    <div class="col-xs-9 text-right">
                                        <div class="huge">R$<span id="valor-total"> 0</span></div>
                                        <div>Receita</div>
                                    </div>
                                </div>
                            </div>
                            <a href="#">
                                <div class="panel-footer">
                                    <span class="pull-left">Ver Receitas</span>
                                    <span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
                                    <div class="clearfix"></div>
                                </div>
                            </a>
                        </div>
                    </div>

                    <div class="col-lg-6 col-md-6">
                        <div class="panel panel-red">
                            <div class="panel-heading">
                                <div class="row">
                                    <div class="col-xs-3">
                                        <i class="fa fa-money fa-3x"></i>
                                    </div>
                                    <div class="col-xs-9 text-right">
                                        <div class="huge">R$34,00</div>
                                        <div>Despesas</div>
                                    </div>
                                </div>
                            </div>
                            <a href="#">
                                <div class="panel-footer">
                                    <span class="pull-left">Ver Despesas</span>
                                    <span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
                                    <div class="clearfix"></div>
                                </div>
                            </a>
                        </div>
                    </div>
                </div>
                <!-- /.row -->

                <div class="row">
                    <div class="col-lg-12">
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h3 class="panel-title"><i class="fa fa-bar-chart-o fa-fw"></i>Grafico Financeiro</h3>
                            </div>
                            <div class="panel-body">
                                <div id="morris-area-chart"></div>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- /.row -->

                <div class="row">
                    <div class="col-lg-4">
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h3 class="panel-title"><i class="fa fa-long-arrow-right fa-fw"></i> Donut Chart</h3>
                            </div>
                            <div class="panel-body">
                                <div id="morris-donut-chart"></div>
                                <div class="text-right">
                                    <a href="#">View Details <i class="fa fa-arrow-circle-right"></i></a>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-4">
                        <div class="panel panel-default">
                            <div class="panel-heading">
                                <h3 class="panel-title"><i class="fa fa-clock-o fa-fw"></i> Clientes Recentes</h3>
                            </div>
                            <div class="panel-body">
                                <div class="list-group">
                                    <a href="#" class="list-group-item">
                                        <span class="badge">just now</span>
                                        <i class="fa fa-fw fa-calendar"></i> Calendar updated
                                    </a>
                                    <a href="#" class="list-group-item">
                                        <span class="badge">4 minutes ago</span>
                                        <i class="fa fa-fw fa-comment"></i> Commented on a post
                                    </a>
                                    <a href="#" class="list-group-item">
                                        <span class="badge">23 minutes ago</span>
                                        <i class="fa fa-fw fa-truck"></i> Order 392 shipped
                                    </a>
                                    <a href="#" class="list-group-item">
                                        <span class="badge">46 minutes ago</span>
                                        <i class="fa fa-fw fa-money"></i> Invoice 653 has been paid
                                    </a>
                                    <a href="#" class="list-group-item">
                                        <span class="badge">1 hour ago</span>
                                        <i class="fa fa-fw fa-user"></i> A new user has been added
                                    </a>
                                    <a href="#" class="list-group-item">
                                        <span class="badge">2 hours ago</span>
                                        <i class="fa fa-fw fa-check"></i> Completed task: "pick up dry cleaning"
                                    </a>
                                    <a href="#" class="list-group-item">
                                        <span class="badge">yesterday</span>
                                        <i class="fa fa-fw fa-globe"></i> Saved the world
                                    </a>
                                    <a href="#" class="list-group-item">
                                        <span class="badge">two days ago</span>
                                        <i class="fa fa-fw fa-check"></i> Completed task: "fix error on sales page"
                                    </a>
                                </div>
                                <div class="text-right">
                                    <a href="#">Ver Todos os Clientes <i class="fa fa-arrow-circle-right"></i></a>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="col-lg-4">

                        </div>
                    </div>
                </div>
                <!-- /.row -->

            </div>
            <!-- /.container-fluid -->

        </div>
        <!-- /#page-wrapper -->

    </div>
    <!-- /#wrapper -->
<?php
require("rodape.php");
?>

Oi Tacio, minha recomendação inicial era que você calculasse esse total com PHP mesmo. armazenando a soma dos itens dentro do laço e exibindo o total fora dele.

Você pode fazer isso criando uma variável antes no laço e somando o valor dentro dele. Na outra página, recomendo que você refaça o foreach somando os totais. É muito mais fácil assim do que tentar enviar isso com JavaScript, onde você vai precisar ficar tratando o envio dos valores.

Vou ver aqui