Jump to content
Sign in to follow this  
jardeldint

Dúvida na multiplicação de campos

Recommended Posts

Olá pessoal, tudo bem?

 

Procurei no fórum, não não achei o que eu estou precisando.. A minha dúvida é a seguinte!

 

Primeiro quero dizer que não sei quase (pra não dizer nada) de php. To apenas tentando entender esse mundo show da programação. Más gosto de "fuçar" nos códigos.

 

Tenho um sistema feito em php + codeigneter, onde tem uma área de edição de OS (Ordem de serviços), na aba produtos tem os campos comuns, que são: Descrição, Quantidade e Subtotal e no final da table tem o total.

Na aba serviços, tem apenas descrição e o botão adicionar.

 

Eu preciso inserir nessa aba, o campo Quantidade, para que possa multiplicar o básico que é o valor (que é puxado do BD) pela quantidade, como por exemplo, um dos serviços é a Hora Técnica.

 

Abaixo tem o código original e o que eu tentei modificar (e deu errado):

 

ORIGINAL:

<tbody>
                                            <?php
                                        $total = 0;
                                        foreach ($servicos as $s) {
                                            $preco = $s->preco;
                                            $total = $total + $preco;
                                            echo '<tr>';
                                            echo '<td>'.$s->nome.'</td>';
                                            echo '<td><span idAcao="'.$s->idServicos_os.'" title="Excluir Serviço" class="btn btn-danger"><i class="icon-remove icon-white"></i></span></td>';
                                            echo '<td>R$ '.number_format($s->preco,2,',','.').'</td>';
                                            echo '</tr>';
                                        }?>

                                        <tr>
                                            <td colspan="2" style="text-align: right"><strong>Total:</strong></td>
                                            <td><strong>R$ <?php echo number_format($total,2,',','.');?><input type="hidden" id="total-servico" value="<?php echo number_format($total,2); ?>"></strong></td>
                                        </tr>
                                        </tbody>

O MODIFICADO:

<tbody>
                                        <?php
                                        $total = 0;
                                        foreach ($servicos as $s) {
                                            $preco = $s->preco;
                                            $total = $total + $s->subTotal;
                                            echo '<tr>';
                                            echo '<td>'.$s->descricao.'</td>';
                                            echo '<td>'.$s->quantidade.'</td>';
                                            echo '<td><a href="" idAcao="'.$s->idServicos_os.'" servAcao="'.$s->idServicos.'" quantAcao="'.$s->quantidade.'" title="Excluir Produto" class="btn btn-danger"><i class="icon-remove icon-white"></i></a></td>';
                                            echo '<td>R$ '.number_format($s->subTotal,2,',','.').'</td>';
                                            echo '</tr>';
                                        }?>
                                       
                                        <tr>
                                            <td colspan="3" style="text-align: right"><strong>Total:</strong></td>
                                            <td><strong>R$ <?php echo number_format($total,2,',','.');?><input type="hidden" id="total-venda" value="<?php echo number_format($total,2); ?>"></strong></td>
                                        </tr>
                                    </tbody>

No HTML da parte dos serviços, inseri exatamente como está em produtos (apenas alterando as variáveis), como está abaixo:

<div class="span12 well" style="padding: 1%; margin-left: 0">
                                <form id="formServicos" action="<?php echo base_url() ?>index.php/os/adicionarServico" method="post">
                                    <div class="span8">
                                        <input type="hidden" name="idServico" id="idServico" />
                                        <input type="hidden" name="idOsServico" id="idOsServico" value="<?php echo $result->idOs?>" />
                                        <input type="hidden" name="preco" id="preco" value=""/>
                                        <label for="">Serviço</label>
                                        <input type="text" class="span12" name="servico" id="servico" placeholder="Digite o nome do Serviço" />
                                    </div>
                                    <div class="span2">
                                        <label for="">Quantidade</label>
                                        <input type="text" placeholder="Quantidade" id="quantidade" name="quantidade" class="span12" />
                                    </div>
                                    <div class="span2">
                                        <label for="">.</label>
                                        <button class="btn btn-success span12" id="servico"><i class="icon-white icon-plus"></i> Adicionar</button>
                                    </div>
                                </form>
                            </div>

Más a bronca é que está dando esse erro:

 

A PHP Error was encountered

Severity: Notice

Message: Undefined property: stdClass::$quantidade

Filename: os/editarOs.php

Line Number: 239

A PHP Error was encountered

Severity: Notice

Message: Undefined property: stdClass::$quantidade

Filename: os/editarOs.php

Line Number: 240

Isso na página de edição da OS.

 

Alguém pode me ajudar a resolver essa bronca?

 

Fico no aguardo!

Share this post


Link to post
Share on other sites

Jarde,

O log já te mostra onde está o erro. Qual seria a dificuldade em resolver tal situação?

Veja:

A PHP Error was encountered
Severity: Notice
Message: UNDEFINED PROPERTY: STDCLASS::$QUANTIDADE
Filename: os/editarOs.php
LINE NUMBER: 239

Faça uma verificação isset desse $quantidade e veja se resolve sua situação.

<?php
   if ( isset($quantidade) ) {
      // Faz algo
   } else {
      // Faz algo
   }
?>

Share this post


Link to post
Share on other sites

L. Henrique, eu coloquei assim:

<?php
                                        $total = 0;
                                        foreach ($servicos as $s) {
                                        if ( isset($quantidade) ) {
                                            $preco = $s->preco;
                                            $total = $total + $s->subTotal;
                                            echo '<tr>';
                                            echo '<td>'.$s->descricao.'</td>';
                                            echo '<td>'.$s->quantidade.'</td>';
                                            echo '<td><a href="" idAcao="'.$s->idServicos_os.'" servAcao="'.$s->idServicos.'" quantAcao="'.$s->quantidade.'" title="Excluir Produto" class="btn btn-danger"><i class="icon-remove icon-white"></i></a></td>';
                                            echo '<td>R$ '.number_format($s->subTotal,2,',','.').'</td>';
                                            echo '</tr>';
                                        }}?>

E não apareceu mais os erros do log, porém não gravou nada no banco, não fez multiplicação nenhuma e nem se quer apareceu a descrição abaixo do serviço, etc...

 

A pergunta é: coloquei no lugar certo? (não entendo nada de programação)

Share this post


Link to post
Share on other sites

 

Jarde,

 

O log já te mostra onde está o erro. Qual seria a dificuldade em resolver tal situação?

 

Veja:

A PHP Error was encountered
Severity: Notice
Message: UNDEFINED PROPERTY: STDCLASS::$QUANTIDADE
Filename: os/editarOs.php
LINE NUMBER: 239

Faça uma verificação isset desse $quantidade e veja se resolve sua situação.

<?php
   if ( isset($quantidade) ) {
      // Faz algo
   } else {
      // Faz algo
   }
?>

Quanto você me cobra pra resolver esse probleminha? Te passo a senha de ftp e tals...

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
Sign in to follow this  

  • Similar Content

    • By gersonab
      Boa tarde,  gostaria da ajuda de vcs, tenho um select option que busca os dados no bd, logo após este tenho um botão onde abro uma janela modal para incluir mais opções a este select caso necessite, com isso faço um cadstro no bd sem dar refresh na página, isto pq já tenho itens inseridos nos demais inputs, o que eu preciso é que após o cadastro este select option seja atualizado sem o refres da página. segue o código.
      <select id="location" name="reup" > <option value="">item</option> <?php aqui vem os demais option com a busca no bd ?> </select> Jquery
      $('#insert').click(function(e){ e.preventDefault(); var nomer = $('#nomer').val(); ..... var obsr = $('#obsr').val(); $.post('insreu.php', { nomer:nomer, ..... obsr:obsr }, function(resposta){ if(resposta == 1){ $('input, textarea').val(''); $('#reup').append(e); alert('Cadastrado com sucesso.'); }else { alert(resposta); } }); }); Desde já agradeço.
    • By jonathasouza
      Bom dia, estou com um projeto e preciso fazer que modal faça requisição do banco, que ao apertar o botao confirmar do Modal, coloque o nome da pessoa que tenha feito login na pagina na coluna "Analista", estou com dificuldade nessa parte, sou novo em programação.
       
      Obrigado pela ajuda :)
       
      Abaixo meu código com HTML, tabela, PHP & Modal.
       
       
                          TABELA
       

       
      --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       
       
                          Código 
       
       
      <?php $nome = isset($_GET["nome"])? $_GET["nome"]:null; $matricula = isset($_GET["matricula"])? $_GET["matricula"]:null; $solicitacao = isset($_GET["solicitacao"])? $_GET["solicitacao"]:null; $prioridade = isset($_GET["prioridade"])? $_GET["prioridade"]:null; $orgao = isset($_GET["orgao"])? $_GET["orgao"]:null; $conexao = mysqli_connect('localhost', 'root', '', 'analistas'); $query = "SELECT `solicitacao`,`prioridade`,`orgao`, `nome` from `analistas` WHERE `analistas`"; if (mysqli_query($conexao, $query))     { ?>                             <?php $conexao = mysqli_connect('localhost', 'root', '', 'analistas'); if(mysqli_connect_errno($conexao)){ echo 'Failed to connecto to database'.mysqli_connect_error();} $query= mysqli_query($conexao, "SELECT DISTINCT * FROM tecnicos, ordem"); ?>                             <?php while($rows = mysqli_fetch_array($query)): ?>                             <tr>                                 <td><?php echo $rows['solicitacao']; ?></td>                                 <td><?php echo $rows['prioridade']; ?></td>                                 <td></td>                                 <td></td>                                 <td><?php echo $rows['orgao']; ?></td>                                 <td><?php echo $rows['nome']; ?></td>                                 <td></td>                             </tr>                             <?php endwhile; ?>                         </tbody>                     </table>                     <!-- Modal -->                     <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">                         <div class="modal-dialog" role="document">                             <div class="modal-content">                                 <div class="modal-header">                                     <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>                                     <h4 class="modal-title" id="myModalLabel"><strong>Solicitação</strong></h4>                                 </div>                                 <div class="modal-body">                                     <div class="insertHere">                                     </div>                                 </div>                                 <div class="modal-footer">                                     <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>                                     <button class="btn btn-success" type="submit" data-dismiss="modal" onclick="generate()">Confirmar</button>                                 </div>                             </div>                         </div>                     </div>   
    • By adriano.eurich
      Olá, estou com muita dificuldade em entender e fazer uma recuperação de dados do banco, quando em uma tela tenho 2 campos de data, data inicial e data final,  quando clico no botão gerar ele me encaminha para outra pagina onde gostaria que aparecesse os dados nela!
       
      create.php <?php session_start(); include_once 'conexao.php'; $id = $_POST [ 'id' ]; $nome = $_POST [ 'nome' ]; $inst = $_POST [ 'inst' ]; $data = date('y-m-d'); $telefone = $_POST [ 'telefone' ]; $chave = $_POST [ 'chave' ]; $queryInsert = $link->query("insert into tb_cadastro VALUES ('".$id."', '".$nome."','".$inst."','".$data."','".$telefone."','".$chave."')"); $affected_rows = mysqli_affected_rows($link); if($affected_rows > 0): $_SESSION['msg'] = "<p class='center green-text'>".'Cadastrado com Sucesso!'."<br>"; header("Location: ../cadastro.php"); endif; relatorio.php <?php session_start(); include_once 'includes/header.inc.php'; include_once 'includes/menu.inc.php'; ?> <!-- Formulário de Cadastro Cliente --> <div class="row container"> <p>&nbsp;</p> <form action="banco_de_dados/consulta_rel.php" method="post" class="col s12"> <fieldset class="formulario" style="padding: 3px"> <legend><img src="imagens/relatorio.png" alt="[imagem]" style="width:55px; height:45px"></legend> <br> <?php if(isset($_SESSION['msg'])): echo $_SESSION['msg']; session_unset(); endif; ?> <!-- Campo Data --> <div class="input-field col s12"> <i class="material-icons prefix">event_available</i> <input type="date" name="datainicial" id="data" maxlength="10" required> <label for="data">Data Inicial</label> </div> <div class="input-field col s12"> <i class="material-icons prefix">event_busy</i> <input type="date" name="datafinal" id="data" maxlength="10" required> <label for="data">Data Final</label> </div> <!-- Botões --> <div class="input-field col s12"> <input type="submit"style="width:120px; height:37px" value="Gerar" class="btn blue"> <input type="reset" style="width:120px; height:37px" value="limpar" class="btn red"> </div> </fieldset> </form> </div> <?php include_once 'includes/footer.inc.php';?> <?php include_once 'includes/script.inc.php'; consulta_rel.php
       
      <?php session_start(); include_once 'conexao.php'; $datainicial = $_POST [ 'datainicial' ]; $datafinal = $_POST [ 'datafinal' ]; $sql= "select * from tb_cadastro where data between '$datainicial' and '$datainicial'"; $consulta_rel = mysqli_query($link, $sql); echo "sql"; if($consulta_rel) { ////// $_SESSION['msg'] = "<p class='center green-text'>".'Devolução efetuada com Sucesso!'."<br>"; header("Location: ../arquivo_rel.php"); exit(); }  


    • By Good
      Boa noite,
      achei a biblioteca de graça na internet para gerar NF 4.0. Porém estou com algumas dúvidas.
       
      Me falaram que através do código de barras é possível puxar todas as informações do produto no SEFAZ?
       
      Eu também acessei vários programas de gerar Nf, todos eles são totalmente diferente para cadastrar os dados fiscais, informações de tributação do produto etc. vejo que será bem trabalhoso nessa questão, por exemplo, cada produto tem tributação diferente, é bem complicado. Existe algum banco de dados que já tem todas as informações?
       
      Aguardo contato, obg
    • By Jefferson andre
      Saudacoes,
      tenho a seguinte situacao aqui: quando o cliente selecionar a UF os municipios sejam filtrados de acordo, gostaria de usar ajax mas nao estou conseguindo.
      Segue os trechos:
       
      <html> <body> <div class="form-group col-md-2"> <label for="inputestado">Estado</label> <select class="custom-select" name="estado" id="estado" onchange="funcao_localizar_municipios()"> <option value="AC">AC</option> <option value="AL">AL</option> <option value="AM">AM</option> <option value="AP">AP</option> <option value="BA">BA</option> <option value="CE">CE</option> <option value="DF">DF</option> <option value="ES">ES</option> <option value="GO">GO</option> <option value="MA">MA</option> <option value="MT">MT</option> <option value="MS">MS</option> <option value="MG">MG</option> <option value="PA">PA</option> <option value="PB">PB</option> <option value="PR">PR</option> <option value="PE">PE</option> <option value="PI">PI</option> <option value="RJ">RJ</option> <option value="RN">RN</option> <option value="RO">RO</option> <option value="RS">RS</option> <option value="RR">RR</option> <option value="SC">SC</option> <option value="SE">SE</option> <option value="SP">SP</option> <option value="TO">TO</option> </select> </div> <div class="form-group col-md-6"> <label for="inputNome">Municipio</label> <br> <?php $filtro_municipios = $arquivo->prepare("SELECT id, nome_uf, nome_distrito,sigla_uf FROM municipios WHERE sigla_uf='$estado' ORDER BY nome_distrito,nome_uf"); $filtro_municipios->execute(); //print_r($filtro_clientes); ?> <select class="custom-select col-md-12" name="id_municipio" id="id_municipio"> <option value="">Clique para selecionar</option> <?php while ($municipios = $filtro_municipios->fetch()) {?> <option value="<?php echo $municipios['id'] ?>" ><?php echo $municipios['nome_distrito']." - ".$municipios['nome_uf'];?> </option> <?php } ?> </select> </div> <script> function funcao_localizar_municipios(procurar) { var xestado = document.getElementById("estado").value; alert("Busca em desenvolvimento: " + x); document.getElementById("estado").style.background = "red"; if (xestado != "") { $.ajax({ url: 'ajax-db-search_estado.php', method: 'POST', data: {xestado:xestado}, success: buscar_municipios(data){ $('#output').html(data); $('#output').css('display', 'block'); $("#estado").focusout(buscar_municipios(){ $('#output').css('display', 'none'); }); $("#estado").focusin(buscar_municipios(){ $('#output').css('display', 'block'); }); } }); } else { $('#output').css('display', 'none'); } } </script> </body> </html> ajax-db-search_estado.php
      <?php require_once "conexao_dbo.php"; $estado = $_POST['query']; echo $estado; if (isset($_POST['query'])) { $filtrar_municipios = $arquivo->prepare("SELECT * FROM municipios WHERE sigla_uf LIKE '{$_POST['query']}%' ORDER BY nome_distrito LIMIT 1000"); $filtrar_municipios->execute(); if($filtrar_municipios->rowCount()>0) { foreach($filtrar_municipios->fetchAll() as $filtro_estados{ echo $filtro_estados['sigla_uf']." - ".$filtro_estados['nome_uf']." - ".$filtro_estados['nome_distrito']."<br/>"; } } else { echo "<p style='color:red'>Nenhuma informacao encontrada...</p>"; } } ?>  
×

Important Information

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