Ir para conteúdo

alissong

Members
  • Total de itens

    517
  • Registro em

  • Última visita

Reputação

1 Comum

1 Seguidor

Sobre alissong

Informações Pessoais

  • Localização
    Belo Horizonte

Últimos Visitantes

497188 visualizações
  1. Pessoal, Tenho um arquivo em php chamado rel_produto.php, conforme código abaixo: <?php #Arquivo de funções ********************************** //require ("verifica.php"); include("conexao/bdinc.php"); #******************************************************** //Verificar se está sendo passado na URL a página atual, senao é atribuido a pagina $pagina = (isset($_GET['pagina']))? $_GET['pagina'] : 1; //Selecionar todos os cursos da tabela $sql_produto = "SELECT * FROM con_produto"; $res_produto = mysqli_query($con, $sql_produto); //Variável para localizar o produto $nome_produto = ""; //Contar o total de cursos $total_produto = mysqli_num_rows($res_produto); //Seta a quantidade de cursos por pagina $quantidade_pg = 15; //calcular o número de pagina necessárias para apresentar os cursos $num_pagina = ceil($total_produto/$quantidade_pg); //Calcular o inicio da visualizacao $incio = ($quantidade_pg*$pagina)-$quantidade_pg; //Selecionar os cursos a serem apresentado na página $sql_limit = "SELECT * FROM con_produto LIMIT $incio, $quantidade_pg"; $res_limit = mysqli_query($con, $sql_limit); $total_limit = mysqli_num_rows($res_limit); // Número máximos de botões de paginação $max_links = 3; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <title>RELAT&Oacute;RIO DE PRODUTOS</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script type="text/javascript"> <!-- function aviso(cod_produto){ var confirmacao = confirm("Deseja realmente excluir o produto ?"); if(confirmacao == true){ location.href="?rel=cod_produto="+cod_produto; } } function consulta(descricao){ var exibir = prompt("Digite o nome do Produto ou Codigo ?","ALICATE"); if (exibir == null) { alert('Usuario clicou em cancelar !!!'); exit } if (exibir != "") { $nome_descricao = "<script> document.write(exibir)</script>"; location.href="?rel=bus_produto&descricao="+exibir; } } //--> </script> </head> <body> <div class="container-fluid"> <div class="row"> <div class="col-lg-12"> <h4 align="left" class="page-header">LISTA DE PRODUTOS</h4> <div class="table-responsive-sm"> <table class="table table-sm table-striped table-bordered table-hover"> <thead class="thead-dark"> <tr> <th>Cod.</th> <th>Nome Produto</th> <th>Unidade</th> <th>Est. Atual</th> <th>Depósito</th> <th>Est. Minimo</th> <th>Pre&ccedil;o Custo</th> <th>Lucratividade</th> <th>Pre&ccedil;o Venda</th> <th>Data Aquisi&ccedil;&atilde;o</th> <th colspan="3">Bot&otilde;es</th> </tr> </thead> <tbody> <?php // Passando data do banco "AAAA-MM-DD" para "DD/MM/AAAA" function mostraData ($data_aquisicao) { if ($data_aquisicao!='') { return (substr($data_aquisicao,8,2).'/'.substr($data_aquisicao,5,2).'/'.substr($data_aquisicao,0,4)); } else { return ''; } } while ($linha = mysqli_fetch_array($res_limit)){ ?> <tr> <td><?php echo "$linha[0]";?></td> <td><?php echo "$linha[1]";?></td> <td align="center"><?php echo "$linha[2]";?></td> <td align ="right"><?php echo number_format($linha[3], 2, ',', '.');?></td> <td style="text-align:right;color:blue"><?php echo number_format($linha[4], 2, ',', '.');?></td> <td align ="right"><?php echo "$linha[8]";?></td> <td style="text-align:right;color:red"><?php echo number_format($linha[5], 2, ',', '.');?></td> <td align="center"><?php echo "$linha[6]";?></td> <td style="text-align:right;color:blue"><?php echo number_format($linha[7], 2, ',', '.');?></td> <td align ="right"><?php echo mostraData($linha[15]);?></td> <td align ='center'><a href='?menu=relatorios&rel=rel_produto&ed_produto&id=<?php echo $linha[0];?>'><img src='img/editar.gif' width='16' border='0' height='16'></a></td> <td align ='center'><a href='javascript:consulta(<?php $nome_produto;?>)'><img src='img/lupa.gif' width='16' border='0' height='16'></a></td> <td align ='center'><a href='javascript:aviso(<?php echo $linha[0];?>);'><img src='img/remover.gif' width='16' border='0' height='16'></a></td> </tr> <?php } ?> </tbody> </table> </div> <nav aria-label="Page navigation"> <ul class="pagination justify-content-center"> <li class="page-item"><a class="page-link" href="?menu=rel_produto&pagina=1" aria-label="Previous"><span aria-hidden="true">&laquo;</span></a> </li> <?php //Apresentar a paginacao // Cria um for() para exibir os 3 links antes da página atual //for($i = 1; $i < $num_pagina + 1; $i++){ for($i = $pagina-$max_links; $i <= $pagina-1; $i++) { if($i <=0) { //faz nada // Se estiver tudo OK, cria o link para outra página } else { ?> <li class="page-item"><a class="page-link" href="?menu=rel_produto&pagina=<?php echo $i; ?>"><?php echo $i; ?></a></li> <?php } } ?> <li class="page-item active"><a class="page-link"><?php echo $pagina; ?></a></li> <?php // Cria outro for(), desta vez para exibir 3 links após a página atual for($i = $pagina+1; $i <= $pagina+$max_links; $i++) { // Verifica se a página atual é maior do que a última página. Se for, não faz nada. if($i > $num_pagina) { //faz nada } // Se tiver tudo Ok gera os links. else { ?> <li class="page-item"><a class="page-link" href="?menu=rel_produto&pagina=<?php echo $i; ?>"><?php echo $i; ?> </a></li> <?php } } ?> <li class="page-item"><a class="page-link" href="?menu=rel_produto&pagina=<?php echo $num_pagina; ?>"><span aria-hidden="true">&raquo;</span></a></li> </ul> </nav> </div> </div> </div> </body> </html> <?php if ((isset($_GET['id'])) > 0) { include("ed_produto.php"); }else { //Não faz nada! } ?> E outro ed_produto.php é o modal bootstrap, conforme o código abaixo: <?php #Arquivo de funções ************************************* //require ("verifica.php"); include("conexao/bdinc.php"); #******************************************************** $sqlu = "SELECT * FROM unidade ORDER BY medida"; $unidade = mysqli_query($con,$sqlu); $menu1 = mysqli_fetch_assoc($unidade); $sql_local = "SELECT * FROM local ORDER BY localizacao"; $local = mysqli_query($con,$sql_local); $menu2 = mysqli_fetch_assoc($local); $sql_categoria = "SELECT * FROM categoria ORDER BY nome_categoria"; $categoria = mysqli_query($con,$sql_categoria); $menu3 = mysqli_fetch_assoc($categoria); # Fim da consulta select $id = ((int)$_GET['id']); $sql ="SELECT * FROM produto WHERE cod_produto='$id'"; $resultado = mysqli_query($con,$sql); $linha = mysqli_fetch_array($resultado); #Incio das variaveis obrigatorias $id = $linha["cod_produto"]; $descricao = $linha["descricao"]; $cod_unidade = $linha["unidade"]; $estoque = $linha["estoque"]; $estoque = str_replace(".",",", $estoque); $preco_custo = $linha["preco_custo"]; $preco_custo = str_replace(".",",", $preco_custo); $lucratividade = $linha["lucratividade"]; $preco_venda = $linha["preco_venda"]; $preco_venda = str_replace(".",",", $preco_venda); $margem_seguranca = $linha["margem_seguranca"]; $taxa_icms = $linha["taxa_icms"]; $csosn = $linha["csosn"]; $csts = $linha["csts"]; $ncm = $linha["ncm"]; $cod_categoria = $linha["cod_categoria"]; $cod_local = $linha["cod_local"]; $data_inclusao = $linha["data_inclusao"]; ?> <!DOCTYPE html> <html lang="pt-br"> <head> <title>Bootstrap Example</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <script language=javascript> function valida_dados () { if (ed_produto.descricao.value=="") { alert ("Por favor digite o Nome do Produto !"); ed_produto.descricao.focus(); return false; } indice = ed_produto.cod_unidade.selectedIndex; if (ed_produto.cod_unidade.options[indice].text == "") { alert("O campo unidade deve ser escolhido !"); ed_produto.cod_unidade.focus(); return false; } if (ed_produto.preco_custo.value=="") { alert ("Por favor digite o valor custo do produto !"); ed_produto.preco_custo.focus(); return false; } if (ed_produto.lucratividade.value=="") { alert ("Por favor digite a margem de lucro do Produto !"); ed_produto.lucratividade.focus(); return false; } return true; } </script> </head> <body> <div class="container-fluid"> <!-- Button to Open the Modal --> <script> $(document).ready(function (){ $('#myModal').modal(); }); </script> <!-- The Modal --> <div class="modal fade" id="myModal"> <div class="modal-dialog modal-dialog modal-lg modal-dialog-centered"> <div class="modal-content"> <!-- Modal Header --> <div class="modal-header"> <h4 class="modal-title">ALTERA&Ccedil;&Atilde;O DO PRODUTO</h4> <button type="Button" class="close" data-dismiss="modal">&times;</input> </div> <!-- Modal body --> <div class="modal-body"> <div class="container-fluid"> <div class="row justify-content-center align-items-center" class="col-md-12"> <form name="ed_produto" method="post" action="cad_ed_produto.php" onsubmit="return valida_dados(this)"> <div class="form-group"> <input type="text" name="cod_produto" class="invisible" id="cod_produto" size="20" value="<?php echo $id;?>" </div> <div class="form-group"> <label for="descricao">Descrição do Produto</label> <textarea class="form-control" name="descricao" id="descricao" aria-label="With textarea" placeholder="Nome do Produto"><?php echo $descricao; ?></textarea> </div> <div class="form-row"> <div class="form-group col-md-3"> <label for="cod_unidade">Medida</label> <select name="cod_unidade" id="cod_unidade" class="form-control"> <option value="0">Op&ccedil;&otilde;es</option> <?php do { echo "<option "; if($cod_unidade==$menu1['medida']){printf(" selected ");} echo"value=". $menu1['medida'].">". $menu1['medida']."</option>"; } while ($menu1 = mysqli_fetch_assoc($unidade)); mysqli_free_result($unidade); ?> </select> </div> <div class="form-group col-md-3"> <label for="cod_local">Localização</label> <select name="cod_local" id="cod_local" class="form-control"> <option value="0">Op&ccedil;&otilde;es</option> <?php do { echo "<option "; if($cod_local==$menu2['cod_local']){printf(" selected ");} echo"value=". $menu2['cod_local'].">". $menu2['localizacao']."</option>"; } while ($menu2 = mysqli_fetch_assoc($local)); mysqli_free_result($local); ?> </select> </div> <div class="form-group col-md-3"> <label for="categoria">Categoria</label> <select name="cod_categoria" id="cod_categoria" class="form-control"> <option value="0">Op&ccedil;&otilde;es</option> <?php do { echo "<option "; if($cod_categoria==$menu3['cod_categoria']){printf(" selected ");} echo"value=". $menu3['cod_categoria'].">". $menu3['nome_categoria']."</option>"; } while ($menu3 = mysqli_fetch_assoc($categoria)); mysqli_free_result($categoria); ?> </select> </div> <div class="form-group col-md-3"> <label for="estoque">Estoque Atual</label> <input type="text" name="estoque" id="estoque" size="20" value="<?php echo $estoque;?>" readonly="true" class="form-control"> </div> </div> <div class="form-row"> <div class="form-group col-md-3"> <label for="preco_custo">Pre&ccedil;o de Custo</label> <input type="text" name="preco_custo" id="preco_custo" size="20" value="<?php echo $preco_custo;?>" class="form-control"> </div> <div class="form-group col-md-3"> <label for="lucratividade">Lucratividade</label> <input type="text" name="lucratividade" id="lucratividade" size="20" value="<?php echo $lucratividade;?>" class="form-control"> </div> <div class="form-group col-md-3"> <label for="preco_venda">Pre&ccedil;o de Venda</label> <input type="text" name="preco_venda" id="preco_venda" size="20" value="<?php echo $preco_venda;?>" readonly="true" class="form-control"> </div> <div class="form-group col-md-3"> <label for="margem_seguranca">Margem Seguran&ccedil;a</label> <input type="text" name="margem_seguranca" id="margem_seguranca" size="20" value="<?php echo $margem_seguranca;?>" class="form-control"> </div> </div> <div class="form-row"> <div class="form-group col-md-3"> <label for="csosn">Taxa ICMS</label> <input type="text" name="taxa_icms" id="taxa_icms" value="<?php echo $taxa_icms;?>" class="form-control"> </div> <div class="form-group col-md-3"> <label for="csosn">CSOSN</label> <input type="text" name="csosn" id="csosn" value="<?php echo $csosn;?>" class="form-control"> </div> <div class="form-group col-md-2"> <label for="csts">CSTS</label> <input type="text" name="csts" id="csts" value="<?php echo $csts;?>" class="form-control"> </div> <div class="form-group col-md-2"> <label for="ncm">NCM</label> <input type="text" name="ncm" id="ncm" value="<?php echo $ncm;?>" class="form-control"> </div> <div class="form-group col-md-2"> <label for="data_inclusao">Data Aquisi&ccedil;&atilde;o</label> <input type="text" name="data_inclusao" id="data_inclusao" value="<?php echo date("d/m/Y",time());?>" readonly="true" class="form-control"> </div> </div> <div class="form-group col-md-6"> <button type="submit" class="btn btn-success">Cadastrar</button> <button type="reset" class="btn btn-primary">Limpar</button> </div> </form> </div> </div> </div> <!-- Modal footer --> <div class="modal-footer"> <button type="button" class="btn btn-danger" data-dismiss="modal">Fechar</button> </div> </div> </div> </div> </div> </body> </html> Está funcionado, com essa gambiarra: <?php if ((isset($_GET['id'])) > 0) { include("ed_produto.php"); }else { //Não faz nada! } ?> Agora, como faço para pegar o id via GET e passar o parâmetro para o modal, sem a necessidade de dois arquivos php usando o javascipt? Um abraço.
  2. alissong

    erro ao gerar pdf com a classe mpdf

    arquivo -> rel_analise_mpdf.php <?php // bd.php deve conter as funções para se conectar no banco de dados require ("verifica.php"); include("conexao/bdinc.php"); // Fecha conexão // Passando data do banco "AAAA-MM-DD" para "DD/MM/AAAA" function mostraData ($data_emissao) { if ($data_emissao!='') { return (substr($data_emissao,8,2).'/'.substr($data_emissao,5,2).'/'.substr($data_emissao,0,4)); } else { return ''; } } // Fecha função para data // busca os dados no banco de dados $cod = $_GET["id"]; $sql = "SELECT * FROM analise WHERE id = '$cod'"; $resultado = mysqli_query($conn,$sql); while ($linha = mysqli_fetch_array($resultado)){ $cod = $linha["id"]; $fatura_nf = $linha["fatura_nf"]; $data_emissao = mostraData($linha["data_emissao"]); $valor_nf = $linha["valor_nf"]; $valor_nf = number_format($valor_nf, 2, ',','.'); $n_contrato = $linha["n_contrato"]; $cnpj_cpf = $linha["cnpj_cpf"]; $quesito_1 = $linha["quesito_1"]; $opcao_1 = $linha["opcao_1"]; $ocorrencia_1 = $linha["ocorrencia_1"]; $quesito_2 = $linha["quesito_2"]; $opcao_2 = $linha["opcao_2"]; $ocorrencia_2 = $linha["ocorrencia_2"]; $quesito_3 = $linha["quesito_3"]; $opcao_3 = $linha["opcao_3"]; $ocorrencia_3 = $linha["ocorrencia_3"]; $quesito_4 = $linha["quesito_4"]; $opcao_4 = $linha["opcao_4"]; $ocorrencia_4 = $linha["ocorrencia_4"]; $quesito_5 = $linha["quesito_5"]; $opcao_5 = $linha["opcao_5"]; $ocorrencia_5 = $linha["ocorrencia_5"]; $quesito_6 = $linha["quesito_6"]; $opcao_6 = $linha["opcao_6"]; $ocorrencia_6 = $linha["ocorrencia_6"]; $quesito_7 = $linha["quesito_7"]; $opcao_7 = $linha["opcao_7"]; $ocorrencia_7 = $linha["ocorrencia_7"]; $quesito_8 = $linha["quesito_8"]; $opcao_8 = $linha["opcao_8"]; $ocorrencia_8 = $linha["ocorrencia_8"]; $quesito_9 = $linha["quesito_9"]; $opcao_9 = $linha["opcao_9"]; $ocorrencia_9 = $linha["ocorrencia_9"]; $quesito_10 = $linha["quesito_10"]; $opcao_10 = $linha["opcao_10"]; $ocorrencia_10 = $linha["ocorrencia_10"]; $quesito_11 = $linha["quesito_11"]; $opcao_11 = $linha["opcao_11"]; $ocorrencia_11 = $linha["ocorrencia_11"]; $quesito_12 = $linha["quesito_12"]; $opcao_12 = $linha["opcao_12"]; $ocorrencia_12 = $linha["ocorrencia_12"]; $quesito_13 = $linha["quesito_13"]; $opcao_13 = $linha["opcao_13"]; $ocorrencia_13 = $linha["ocorrencia_13"]; $quesito_14 = $linha["quesito_14"]; $opcao_14 = $linha["opcao_14"]; $ocorrencia_14 = $linha["ocorrencia_14"]; $quesito_15 = $linha["quesito_15"]; $opcao_15 = $linha["opcao_15"]; $ocorrencia_15 = $linha["ocorrencia_15"]; $quesito_16 = $linha["quesito_16"]; $opcao_16 = $linha["opcao_16"]; $ocorrencia_16 = $linha["ocorrencia_16"]; $quesito_17 = $linha["quesito_17"]; $opcao_17 = $linha["opcao_17"]; $ocorrencia_17 = $linha["ocorrencia_17"]; $quesito_18 = $linha["quesito_18"]; $opcao_18 = $linha["opcao_18"]; $ocorrencia_18 = $linha["ocorrencia_18"]; $quesito_19 = $linha["quesito_19"]; $opcao_19 = $linha["opcao_19"]; $ocorrencia_19 = $linha["ocorrencia_19"]; $quesito_20 = $linha["quesito_20"]; $opcao_20 = $linha["opcao_20"]; $ocorrencia_20 = $linha["ocorrencia_20"]; $quesito_21 = $linha["quesito_21"]; $opcao_21 = $linha["opcao_21"]; $ocorrencia_21 = $linha["ocorrencia_21"]; $quesito_22 = $linha["quesito_22"]; $opcao_22 = $linha["opcao_22"]; $ocorrencia_22 = $linha["ocorrencia_22"]; } // Captura o usuario logado no sistema e IP $usuario = $_SESSION['login']; $usuario = ucfirst($_SESSION['login']); $ip = $_SERVER["REMOTE_ADDR"]; $html= ' <HTML> <BODY> <table border="1" width="100%"> <tr> <td width="60%" align ="center" colspan="4"><label>ANÁLISE CONTÁBIL DA NFS-e :'.$fatura_nf.'</label></td> <td width="30%"><label>Usuário</label></td> <td width="10%" align ="left" colspan="2"><label>'.$usuario.'</label></td> </tr> <tr> <td width="30%"><label>Fatura/Nota Fiscal</label></td> <td width="10%" align ="right">'.$fatura_nf.'</td> <td width="30%"><label>Data Fatura/Nota Fiscal</label></td> <td width="10%" align ="right">'.$data_emissao.'</td> <td width="30%" align ="left" rowspan="2"><label>Valor da Fatura/Nota Fiscal</label></td> <td width="20%" align ="right" rowspan="2">'.$valor_nf.'</td> </tr> <tr> <td width="60%" ><label>N° Contrato</label></td> <td width="10%" align ="right" >' . $n_contrato . '</td> <td width="40%" align ="left" ><label>CNPJ da Contratada</label></td> <td width="20%" align ="right" >' .$cnpj_cpf. '</td> </tr> <tr> <td width="60%"><label><b> Documentação que deve acompanhar a Nota Fiscal de prestação de serviços continuados</b></label></td> <td width="5%" align ="center"><label><b>Selecione a opção</b></label></td> <td width="35%" align ="center" colspan="4"><label><b>Descrição da Ocorrência</b></label></td> </tr> <tr> <td width="60%">1. Nota Fiscal com as seguintes informações: descrição do serviço, competência da nota, n° da Licitação e n° do Contrato ?</td> <td width="5%" align ="center">' . $opcao_1 . ' </td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_1 . '</td> </tr> <tr> <td width="60%">2. Planilha contendo as seguintes informações: nomes completos dos empregados, funções exercidas, dias efetivamente trabalhados, horas extras trabalhadas, férias, licenças, faltas e ocorrências (n° de terceirizados por função deve coincidir com o previsto no contrato) ?</td> <td width="5%" align ="center">' . $opcao_2 . ' </td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_2 . '</td> </tr> <tr> <td width="60%">3. Cópia da Folha de Pagamento dos empregados ?</td> <td width="5%" align ="center">' . $opcao_3 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_3 . '</td> </tr> <tr> <td width="60%">4. Cópia do depósito bancário ou relação bancária de pagamento dos empregados (deve estar previsto no contrato) ?</td> <td width="5%" align ="center">' . $opcao_4 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_4 . '</td> </tr> <tr> <td width="60%">5. Cópia do Protocolo de Envio de Arquivos, emitido pela Conectividade Social (GFIP) ?</td> <td width="5%" align ="center">' . $opcao_5 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_5 . '</td> </tr> <tr> <td width="60%">6. Cópia da Guia de Recolhimento do FGTS (GRF) com a autenticação mecânica ou acompanhada do comprovante de recolhimento bancário ou o comprovante emitido quando recolhimento for efetuado pela Internet ?</td> <td width="5%" align ="center">' . $opcao_6 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_6 . '</td> </tr> <tr> <td width="60%">7. Cópia da Relação dos Trabalhadores Constantes do Arquivo SEFIP (RE) ?</td> <td width="5%" align ="center">' . $opcao_7 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_7 . '</td> </tr> <tr> <td width="60%">8. Cópia da Guia de Recolhimento Rescisório do FGTS, quando houver rescisão sem justa causa ?</td> <td width="5%" align ="center">' . $opcao_8 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_8 . '</td> </tr> <tr> <td width="60%">9. Cópia do Termo de Rescisão, quando houver rescisão do contrato do trabalhador ?</td> <td width="5%" align ="center">' . $opcao_9 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_9 . '</td> </tr> <tr> <td width="60%">10. Cópia do Comprovante de Declaração à Previdência ?</td> <td width="5%" align ="center">' . $opcao_10 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_10 . '</td> </tr> <tr> <td width="60%">11. Cópia da Guia da Previdência Social (GPS) com a autenticação mecânica ou acompanhada do comprovante de recolhimento bancário ou o comprovante emitido quando recolhimento for efetuado pela Internet ?</td> <td width="5%" align ="center">' . $opcao_11 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_11 . '</td> </tr> <tr> <td width="60%">12. Comprovante de Recolhimento do Imposto Sobre Serviço de Qualquer Natureza - ISSQN, exceto se o órgão ou entidade efetivar a devida retenção ?</td> <td width="5%" align ="center">' . $opcao_12 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_12 . '</td> </tr> <tr> <td width="60%">13. Cópia do Comprovante de Recolhimento do Imposto Sobre Serviço de Qualquer Natureza - ISSQN, exceto se o órgão ou entidade efetivar a devida retenção ?</td> <td width="5%" align ="center">' . $opcao_13 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_13 . '</td> </tr> <tr> <td width="60%">14. Cópia da Certidão Negativa de Débito junto ao INSS (CND), a Certidão Negativa de Débitos de Tributos e Contribuições Federais e o Certificado de Regularidade do FGTS (CRF), sempre que expire o prazo de validade ?</td> <td width="5%" align ="center">' . $opcao_14 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_14 . '</td> </tr> <tr> <td width="60%">15. Cópia da Folha ponto dos empregados: em caso de faltas injustificadas do empregado, deve a fatura conter o respectivo desconto ?</td> <td width="5%" align ="center">' . $opcao_15 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_15 . '</td> </tr> <tr> <td width="60%">16. Comprovante de fornecimento de vale-transporte aos empregados de acordo com os dias efetivamente trabalhados (onde houver cartão deve ser apresentado cópia do cartão e comprovante da recarga do mesmo pela empresa) ?</td> <td width="5%" align ="center">' . $opcao_16 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_16 . '</td> </tr> <tr> <td width="60%">17. Comprovante de pagamento do auxílio alimentação aos empregados ?</td> <td width="5%" align ="center">' . $opcao_17 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_17 . '</td> </tr> <tr> <td width="60%">18. Comprovante dos recibos de pagamento de autônomos - RPA ou cópia dos demais documentos se o empregado substituto tiver vínculo empregatício com a empresa (nos casos de substituição do empregados) ?</td> <td width="5%" align ="center">' . $opcao_18 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_18 . '</td> </tr> <tr> <td width="60%">19. Consultar a situação da empresa junto ao SICAF, SN, TST, PT imprimir e anexar à Nota Fiscal ?</td> <td width="5%" align ="center">' . $opcao_19 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_19 . '</td> </tr> <tr> <td width="60%">20. Consultar contrato no SIASG, seguro garantia e vigência do seguro ?</td> <td width="5%" align ="center">' . $opcao_20 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_20 . '</td> </tr> <tr> <td width="60%">21. O valor da NF é o mesmo do valor mensal do contrato ?</td> <td width="5%" align ="center">' . $opcao_21 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_21 . '</td> </tr> <tr> <td width="60%">22. DIVS, INSS E ISSQN foram calculados ?</td> <td width="5%" align ="center">' . $opcao_22 . '</td> <td width="35%" colspan="4" style="width:720px;height:35px;">' . $ocorrencia_22 . '</td> </tr> </table> </BODY> </HTML> '; // Fecha o código HTML include("mpdf/mpdf.php"); //É fundamental definir o TIMEZONE de nossa região para que não tenhamos problemas com a geração. date_default_timezone_set('America/Sao_Paulo'); $mpdf=new mPDF('c','A4'); // coloca o titulo no arquivo $mpdf->SetTitle('ANÁLISE CONTÁBIL DA NFS-e'); $mpdf->SetDisplayMode('fullpage'); $mpdf->list_indent_first_level = 1; // 1 or 0 - whether to indent the first level of a list // coloca o rodape no arquivo $mpdf->SetFooter("{DATE j/m/Y H:i}|Pagina {PAGENO} de {nb}|$ip/contabilidade"); // incorpora o corpo ao PDF na posição 2 e deverá ser interpretado como footage. Todo footage é posicao 2 ou 0(padrão). $html = mb_convert_encoding($html, 'UTF-8', 'UTF-8'); $mpdf->WriteHTML($html,2); // define um nome para o arquivo PDF $arquivo = $fatura_nf.'analise.pdf'; // Limpa o buffer de saída ob_clean(); // gera o relatório $mpdf->Output($arquivo,'I'); exit(); // Fecha a conexao mysqli_close($conn); ?> Pessoal, Quando tento gerar o relatório em PDF exibe esses errros: Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136 Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136 Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139 Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139 Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190 Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190 Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136 Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136 Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139 Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139 Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190 Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190 Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136 Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1136 Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139 Warning: Cannot assign an empty string to a string offset in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1139 Warning: Illegal string offset 'ID' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190 Warning: Illegal string offset 'LANG' in C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php on line 1190 Warning: Cannot modify header information - headers already sent by (output started at C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php:1190) in C:\Apache24\htdocs\contabilidade\mpdf\mpdf.php on line 8297 Warning: Cannot modify header information - headers already sent by (output started at C:\Apache24\htdocs\contabilidade\mpdf\classes\cssmgr.php:1190) in C:\Apache24\htdocs\contabilidade\mpdf\mpdf.php on line 1706 mPDF error: Some data has already been output to browser, can't send PDF file Pessoal uso esse link: $imprimir = "<a href='?rel=rel_analise_mpdf&id=$linha[0]'><img src='img/imprimir.jpg' width='16' border='0' height='16'></a>"; Para chamar o arquivo rel_analise_mpdf.php Estou usando: PHP 7.2 Apache24 MPDF060 Alguém saber como corrigir esse erro? Atenciosamente, Alissong
  3. Ted k', Você é o cara. Muito obrigado................. Funcionou beleza. Um abraço. Alissong
  4. Tenho dois formulários que exibe a consulta de fatura pendente de transferência. Veja o código abaixo: <?php // Conectar com banco mysql //require("verifica.php"); include("conexao/bdinc.php"); ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML><HEAD><TITLE>Transferencia de Produtos</TITLE> <META content="text/html; charset=windows-1252" http-equiv=Content-Type> <META name=GENERATOR content="MSHTML 9.00.8112.16476"></HEAD> <script type="text/javascript" src="java/ajaxselectfatura.js"></script> <script type="text/javascript"> function mudar(x,y){ x.style.backgroundColor=y; } function mostrarFatura(){ alert('O valor selecionado \u00e9 '+ getRadioValor('n_fatura')); } function getRadioValor(name){ var rads = document.getElementsByName(name); for(var i = 0; i < rads.length; i++){ if(rads[i].checked){ return rads[i].value; } } return null; } </script> <BODY> <BR> <fieldset style="width:900px"> <legend><label>INCLUSAO DAS FATURAS DE PRODUTOS</label></legend> <FORM name="transferencia" method="POST" action="rel_transferencia.php"> <table width="100%" cellspacing="1" cellpadding="0" bgcolor="#000000"> <tr> <td width="100%" bgcolor="#E1E1E1"> <table border="1" width="100%" cellpadding="0" class="tabela"> <br> <tr align="center" class="cabecalho"> <td width="8%"><label><b>Opcao</b></label></td> <td width="10%"><label><b>ID</b></label></td> <td width="10%"><label><b>Nº. Fatura</b></label></td> <td width="10%"><label><b>Cupom</b></label></td> <td width="15%"><label><b>Total Fatura</b></label></td> <td width="15%"><label><b>Situacao</b></label></td> <td width="10%"><label><b>Login</b></label></td> <td width="25%"><label><b>Data Inclusao</b></label></td> </tr> <?php // Faz o sql no Banco de dados $sql = "SELECT * FROM transferencia WHERE situacao='PENDENTE' ORDER BY transferencia.n_fatura DESC"; $res = mysqli_query($con,$sql); $Cor = ""; //VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS $registros = mysqli_num_rows($res); if($registros > 0){ while ($linha = mysqli_fetch_array($res)){ if ($Cor == "#FFFFFF") $Cor = "#ECF2F8"; else $Cor = "#FFFFFF"; echo " <tr bgcolor='" . $Cor . "' onmouseover=\"mudar(this,'#FFE2CC');\" onmouseout=\"mudar(this,'" . $Cor . "');\">"; //echo " <td align ='center'><a href='?rel=rel_pedido_itens&id=$linha[0]'>$linha[0]</a></td>"; echo " <td style='text-align:center;' class='tabela'><input type='radio' name='n_fatura' id='n_fatura' onchange='mostrarFatura();BuscarDados(this.value)' value='$linha[1]' class='input'></td>"; echo " <td class='tabela'>$linha[0]</td>"; echo " <td style='text-align:right;color:blue' class='tabela'>$linha[1]</td>"; echo " <td align ='center' class='tabela'>$linha[2]</td>"; echo " <td align ='right' class='tabela'>".number_format($linha[3], 2, ',', '.')."</td>"; echo " <td class='tabela'>$linha[4]</td>"; echo " <td class='tabela'>$linha[5]</td>"; echo " <td class='tabela'>$linha[6]</td>"; echo "</tr>"; }//fecha if while }//fecha if else { echo "<b>Não existe(em) fatura(s) para o critério de busca !<b>"; }//fecha else ?> </table> <?php // Fecha a conexao mysqli_close($con); ?> </td> </tr> </table> </FORM> </fieldset> <BR> <fieldset style="width:900px"> <legend><label> ITENS DA FATURA</label></legend> <TABLE cellSpacing=0 cellPadding=0 width="100%" > <TBODY> <TR> <TD width="100%"> <TABLE border=0 width="100%" class="tabela"> <TBODY> <TR> <td> <!-- AQUI SERÁ APRESENTADO O RESULTADO DA BUSCA DINÂMICA.. OU SEJA OS NOMES --> <div id="Resultado"></div></td> </TR> </TBODY></TABLE></TD></TR></TBODY></TABLE></fieldset> </body> </html> O arquivo rel_transferencia.php: Veja o código abaixo: <?php #Arquivo de funções ************************************* include("conexao/bdinc.php"); #******************************************************** ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Relatorio de Fornecedores</title> <link rel="stylesheet" type="text/css" href="css/projeto.css"> <script language="javascript" src="java/remove_acento.js"></script> <script type="text/javascript"> function mudar(x,y){ x.style.backgroundColor=y; } //--> </script> </head> <body> <table width="100%" cellspacing="1" cellpadding="0" bgcolor="#000000"> <tr> <td width="100%" bgcolor="#E1E1E1"> <form> <table border="1" width="100%" cellpadding="0" class="tabela"> <br> <tr align="center" class="cabecalho"> <td width="5%"><label><b>N Fatura</b></label></td> <td width="10%"><label><b>Cod. Prod.</b></label></td> <td width="10%"><label><b>Nome Produto</b></label></td> <td width="10%"><label><b>Valor Unitario</b></label></td> <td width="10%"><label><b>Quantidade</b></label></td> <td width="10%"><label><b>Subtotal</b></label></td> </tr> <?php // Pegar a página atual por GET if (isset($_GET['n_fatura'])){ $nfatura = $_GET['n_fatura']; } else { $nfatura = 1; } // Seleciona no banco de dados com o LIMIT indicado pelos números acima $sql = "SELECT mov_saida.n_fatura,mov_saida.cod_produto,produto.descricao,mov_saida.valor_unitario,mov_saida.q_saida,mov_saida.subtotal FROM produto,mov_saida,transferencia WHERE produto.cod_produto=mov_saida.cod_produto AND mov_saida.n_fatura=transferencia.n_fatura AND mov_saida.n_fatura = '$nfatura' ORDER BY produto.descricao"; $res = mysqli_query($con,$sql); $Cor = ""; //VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS $registros = mysqli_num_rows($res); if($registros > 0){ $total_fornecedor = 0; while ($linha = mysqli_fetch_array($res)){ if ($Cor == "#FFFFFF") $Cor = "#ECF2F8"; else $Cor = "#FFFFFF"; echo " <tr bgcolor='" . $Cor . "' onmouseover=\"mudar(this,'#FFE2CC');\" onmouseout=\"mudar(this,'" . $Cor . "');\">"; echo " <td class='tabela'>$linha[0]</td>"; echo " <td style='text-align:right;color:blue' class='tabela'>$linha[1]</td>"; echo " <td align ='center' class='tabela'>$linha[2]</td>"; echo " <td align ='right' class='tabela'>".number_format($linha[3], 2, ',', '.')."</td>"; echo " <td align ='right' class='tabela'>".number_format($linha[4], 2, ',', '.')."</td>"; echo " <td align ='right' class='tabela'>".number_format($linha[5], 2, ',', '.')."</td>"; $total_fornecedor += $linha[5]; echo "</tr>"; }//fecha if while echo "<tr>"; echo "<td colspan='5'><label><b>Total das Faturas a Transferir</b></label></td>"; echo " <td align ='right' style='text-align:right;color:blue' class='tabela'>".number_format($total_fornecedor, 2, ',', '.')."</td>"; echo "</tr>"; }//fecha if else { echo "<b>N&atilde;o existe(em) fatura(s) para transferencia !<b>"; }//fecha else ?> </table> <?php // Fecha a conexao mysqli_close($con); ?> </td> </tr> </table> <p align=right><font face=Arial size=1><a href="indexXXX.php" title="Retornar"><< Retornar</a></p> </form> </body> </html> O arquivo ajax que faz a consulta dinâmica. Veja o código abaixo: /** * Função para criar um objeto XMLHTTPRequest */ function CriaRequest() { try{ request = new XMLHttpRequest(); }catch (IEAtual){ try{ request = new ActiveXObject("Msxml2.XMLHTTP"); }catch(IEAntigo){ try{ request = new ActiveXObject("Microsoft.XMLHTTP"); }catch(falha){ request = false; } } } if (!request) alert("Seu Navegador não suporta Ajax!"); else return request; } /** * Função para enviar os dados */ function BuscarDados() { // Declaração de Variáveis var nfatura = document.getElementById("n_fatura").value; var result = document.getElementById("Resultado"); var xmlreq = CriaRequest(); // Exibi a imagem de progresso result.innerHTML = 'AGUARDE PROCESSANDO...'; // Iniciar uma requisição xmlreq.open("GET", "rel_transferencia.php?n_fatura=" + nfatura, true); // Atribui uma função para ser executada sempre que houver uma mudança de ado xmlreq.onreadystatechange = function(){ // Verifica se foi concluído com sucesso e a conexão fechada (readyState=4) if (xmlreq.readyState == 4) { // Verifica se o arquivo foi encontrado com sucesso if (xmlreq.status == 200) { result.innerHTML = xmlreq.responseText; }else{ result.innerHTML = "Erro: " + xmlreq.statusText; } } }; xmlreq.send(null); } O código está funcionado parcialmente, pois somente exibe a consulta com o primeiro item da tabela transferencia. Exemplo: Clico no radio 193, mas somente exibe a consulta do radio 195. Não esta passando o parâmetro do radio clicado. echo " <td style='text-align:center;' class='tabela'><input type='radio' name='n_fatura' id='n_fatura' onchange='mostrarFatura();BuscarDados(this.value)' value='$linha[1]' class='input'></td>"; var nfatura = document.getElementById("n_fatura").value; Na verdade quero saber como fazer para pegar o valor input radio e colocar nessa variável var nfatura que é responsável pela consulta. Alguém pode me ajudar.
  5. alissong

    Imprimir na Impressora Bematech M-20 com php

    Pessoal, peguei esse código na NET e fiz algumas alterações o arquivo imprimir.txt esta sendo gerado, mas não estou sabendo como enviar esses dados via php para impressora Bematech M-20. Veja código impressao.php abaixo: <?php #Arquivo de funções ************************************* include("conexao/bdinc.php"); #******************************************************** /* * Gerar um arquivo .txt para imprimir na impressora Bematech MP-20 MI */ $n_colunas = 40; // 40 colunas por linha /** * Adiciona a quantidade necessaria de espaços no inicio * da string informada para deixa-la centralizada na tela * * @global int $n_colunas Numero maximo de caracteres aceitos * @param string $info String a ser centralizada * @return string */ function centraliza($info) { global $n_colunas; $aux = strlen($info); if ($aux < $n_colunas) { // calcula quantos espaços devem ser adicionados // antes da string para deixa-la centralizada $espacos = floor(($n_colunas - $aux) / 2); $espaco = ''; for ($i = 0; $i < $espacos; $i++){ $espaco .= ' '; } // retorna a string com os espaços necessários para centraliza-la return $espaco.$info; } else { // se for maior ou igual ao número de colunas // retorna a string cortada com o número máximo de colunas. return substr($info, 0, $n_colunas); } } /** * Adiciona a quantidade de espaços informados na String * passada na possição informada. * * Se a string informada for maior que a quantidade de posições * informada, então corta a string para ela ter a quantidade * de caracteres exata das posições. * * @param string $string String a ter os espaços adicionados. * @param int $posicoes Qtde de posições da coluna * @param string $onde Onde será adicionar os espaços. I (inicio) ou F (final). * @return string */ function addEspacos($string, $posicoes, $onde) { $aux = strlen($string); if ($aux >= $posicoes) return substr ($string, 0, $posicoes); $dif = $posicoes - $aux; $espacos = ''; for($i = 0; $i < $dif; $i++) { $espacos .= ' '; } if ($onde === 'I') return $espacos.$string; else return $string.$espacos; } $txt_cabecalho = array(); $txt_itens = array(); $txt_valor_total = ''; $txt_rodape = array(); $txt_cabecalho[] = 'Razão social da empresa aqui'; $txt_cabecalho[] = 'CNPJ da empresa aqui'; $txt_cabecalho[] = ' '; // força pular uma linha entre o cabeçalho e os itens $txt_itens[] = array('Cod.', 'Descrição', 'Un', 'Qtd', 'V. UN', 'Subtotal'); $tot_itens = 0; $cod = 1; //trazendo o produto $sql = "SELECT mov_saida.cod_produto,produto.descricao,produto.unidade,mov_saida.valor_unitario, mov_saida.q_saida,mov_saida.subtotal FROM mov_saida,produto WHERE mov_saida.cod_produto=produto.cod_produto AND mov_saida.cod_produto = '$cod'"; $res = mysqli_query($con,$sql); //VERIFICA A QUANTIDADE DE REGISTROS RETORNADOS $registros = mysqli_num_rows($res); if($registros > 0){ while ($linha = mysqli_fetch_array($res)){ $cod = $linha[0]; $descricao = $linha[1]; $unidade = $linha[2]; $valor_unitario = number_format(($linha[3]), 2,',',' '); $q_saida = number_format(($linha[4]), 2,',',' '); $subtotal = number_format(($linha[5]), 2,',',' '); $txt_itens[] = array($cod,$descricao,$unidade,$valor_unitario,$q_saida,$subtotal); $tot_itens += $subtotal; } }//fecha if $aux_valor_total = 'Total Geral: '.number_format(($tot_itens), 2,',',' '); // calcula o total de espaços que deve ser adicionado antes do "Sub-total" para alinhado a esquerda $total_espacos = $n_colunas - strlen($aux_valor_total); $espacos = ''; for($i = 0; $i < $total_espacos; $i++){ $espacos .= ' '; } $txt_valor_total = $espacos.$aux_valor_total; $txt_rodape[] = 'Cód. Cliente: 150'; $txt_rodape[] = 'CPF/CNPJ: 999.999.999-99'; $txt_rodape[] = 'Nome do cliente'; $txt_rodape[] = ' '; // força pular uma linha $txt_rodape[] = '________________________________________'; $txt_rodape[] = ' Assinatura do Cliente '; // centraliza todas as posições do array $txt_cabecalho $cabecalho = array_map("centraliza", $txt_cabecalho); /* para cada linha de item (array) existente no array $txt_itens, * adiciona cada posição da linha em um novo array $itens * fazendo a formatação dos espaçamentos entre cada coluna * da linha através da função "addEspacos" */ foreach ($txt_itens as $item) { /* * Cod. => máximo de 5 colunas * Produto => máximo de 11 colunas * Env. => máximo de 4 colunas * Qtd => máximo de 7 colunas * V. UN => máximo de 7 colunas * Total => máximo de 7 colunas * * $itens[] = 'Cod. Produto Env. Qtd V. UN Total' */ $itens[] = addEspacos($item[0], 5, 'F') . addEspacos($item[1], 11, 'F') . addEspacos($item[2], 4, 'I') . addEspacos($item[3], 6, 'I') . addEspacos($item[4], 7, 'I') . addEspacos($item[5], 9, 'I') ; } /* concatena o cabelhaço, os itens, o sub-total e rodapé * adicionando uma quebra de linha "\r\n" ao final de cada * item dos arrays $cabecalho, $itens, $txt_rodape */ $txt = implode("\r\n", $cabecalho) . "\r\n" . implode("\r\n", $itens) . "\r\n" . $txt_valor_total // Subtotal . "\r\n\r\n" . implode("\r\n", $txt_rodape); // caminho e nome onde o TXT será criado no servidor $file = 'uploads/nome_arquivo.txt'; // cria o arquivo $_file = fopen($file,"w"); fwrite($_file,$txt); fclose($_file); header("Pragma: public"); // Força o header para salvar o arquivo header("Content-type: application/save"); header("X-Download-Options: noopen "); // For IE8 header("X-Content-Type-Options: nosniff"); // For IE8 // Pré define o nome do arquivo header("Content-Disposition: attachment; filename=imprimir.txt"); header("Expires: 0"); header("Pragma: no-cache"); // Lê o arquivo para download readfile($file); exit; ?> Agora veja o anexo do arquivo imprimir.txt gerado: Portanto, sabe como enviar esses dados gerado direto na impressora quando o usuário insert um pedido? imprimir.txt
  6. alissong

    autocomplete com jquery e php

    Pessoal, Estou tentando fazer um código autocomplete com jquery e php, mas esta exibindo variável indefinida. Vejam os códigos abaixo: 1 - Autocomplete.php <!DOCTYPE html> <html lang="pt"> <head> <meta charset="utf-8"> <title> Artigo AutoComplete</title> <link rel="stylesheet" href="java/jquery-ui-1.12.1/jquery-ui.css"> <script src="java/jquery-3.1.1.min.js"></script> <script src="java/jquery-ui-1.12.1/jquery-ui.js"></script> <script> $(function() { // Atribui evento e função para limpeza dos campos $('#busca').on('input', limpaCampos); // Dispara o Autocomplete a partir do segundo caracter $("#busca").autocomplete({ minLength: 2, source: function( request, response ) { $.ajax({ url: "procura.php", dataType: "json", data: { acao: 'autocomplete', parametro: $('#busca').val() }, success: function(data) { response(data); } }); }, focus: function( event, ui ) { $("#busca").val( ui.item.descricao ); carregarDados(); return false; }, select: function( event, ui ) { $("#busca").val( ui.item.descricao ); return false; } }) .autocomplete("instance")._renderItem = function( ul, item ) { return $( "<li>" ) .append( "<a><b>Codigo: </b>" + item.cod_produto + " - <b>Descricao: </b>" + item.descricao + "</a>" ) .appendTo( ul ); }; // Função para carregar os dados da consulta nos respectivos campos function carregarDados(){ var busca = $('#busca').val(); if(busca != "" && busca.length >= 2){ $.ajax({ url: "procura.php", dataType: "json", data: { acao: 'procura', parametro: $('#busca').val() }, success: function(data) { $('#cod_produto').val(data[0].cod_produto); $('#descricao').val(data[0].descricao); } }); } } // Função para limpar os campos caso a busca esteja vazia function limpaCampos(){ var busca = $('#busca').val(); if(busca == ""){ $('#cod_produto').val(''); $('#descricao').val('') } } }); </script> </head> <body> <br> <div class="row"> <div class="form-group col-md-6 col-md-offset-3"> <input type="text" class="form-control" id="busca" placeholder="Informe o Titulo do Livro"> </div> </div> <header class="row"> <h2 class='text-center text-danger'>Detalhes do Livro</h2> </header> <br> <div class="row"> <form> <div class="form-group col-md-3"> <label for="titulo">Codigo de Barra</label> <input type="text" class="form-control" id="cod_produto"> </div> <div class="form-group col-md-6"> <label for="titulo">Descricao</label> <input type="text" class="form-control" id="descricao"> </div> </form> </div> </body> </html> 2 - procura.php <?php # Função para conectar o banco de dados include_once("conexao/bdinc.php"); # Fim da conexão // Recebe os parâmetros enviados via GET $acao = (isset($_GET['acao'])) ? $_GET['acao'] : null; $parametro = (isset($_GET['parametro'])) ? $_GET['parametro'] : null; // Verifica se foi solicitado uma consulta para o autocomplete if($acao == 'autocomplete'): $sql = "SELECT * FROM produto WHERE (cod_produto LIKE '$parametro' OR descricao LIKE '$parametro%') ORDER BY descricao LIMIT 20 "; $res = mysqli_query($con,$sql); while($linha = mysqli_fetch_assoc($res)){ $dados[] = $linha['cod_produto']; $dados[] = $linha['descricao']; } $json = json_encode($dados); echo $json; endif; // Verifica se foi solicitado uma consulta para preencher os campos do formulário if($acao == 'procura'): $sql = "SELECT * FROM produto WHERE cod_produto = '$parametro'"; $res = mysqli_query($con,$sql); while($linha = mysqli_fetch_assoc($res)){ $dados[] = $linha['cod_produto']; $dados[] = $linha['descricao']; } $json = json_encode($dados); echo $json; endif; ?> Agora veja como esta exibindo os dados: Parece que as variáveis não definidas são essas: .append( "<a><b>Codigo: </b>" + item.cod_produto + " - <b>Descricao: </b>" + item.descricao + "</a>" ) Exibe assim: Codigo: undefined - Descricao: undefined Alguém pode ajudar a descobri como corrigir esse erro?
  7. alissong

    Notice: Undefined index: carrinho in

    Williams Duarte, Muito obrigado pela ajuda. Agora veja código para alguém precisar. //ADICIONA PRODUTO NO CARRINHO if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($valores[0][0]); if (!isset($_SESSION['carrinho'][$id])) { $_SESSION['carrinho'][$id] = $valores; }else{ echo "<script language=JavaScript> window.alert('O item $id consta no carrinho !'); </script>"; echo "<script>window.location = 'cadastros.php?cad=entradas'</script>"; } } } }
  8. alissong

    Notice: Undefined index: carrinho in

    Williams Duarte, Muito obrigado agora deu certinho. Pode me ajudar como fazer nessa parte do código não aceita valores que já existe no array da session: //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = $valores[0][0]; $id = intval($valores[0][0]); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][] = $valores; } } } }
  9. alissong

    Notice: Undefined index: carrinho in

    Williams Duarte, Quando coloquei sua sugestão agora exibe isso: Notice: Undefined index: carrinho in C:\Apache24\htdocs\estoque\mov_entradas.php on line 77 Warning: Invalid argument supplied for foreach() in C:\Apache24\htdocs\estoque\mov_entradas.php on line 77 A mensagem de notificação vem dessa linha. foreach ($_SESSION['carrinho'] as $id => $valores) {
  10. alissong

    Notice: Undefined index: carrinho in

    Pessoal, Vê se alguém consegue observar essa notificação, pois já olhei e nada até agora? Veja código mov_entrada.php <?php if(isset($_POST['incluir'])) { $produtos = isset($_POST['produto']) ? $_POST['produto'] : ''; $valores = array($produtos); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = $valores[0][0]; $id = intval($valores[0][0]); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][] = $valores; } } } } //REMOVER CARRINHO if(isset($_GET['acao'])){ if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Itens dos Produtos</title> </head> <body> <table> <thead> <tr> <th width="80">Codigo</th> <th width="400">Produto</th> <th width="79">Quantidade</th> <th width="89">Preço</th> <th width="100">SubTotal</th> <th width="64">Remover</th> </tr> </thead> <form action="?cad=entradas_p1" method="post"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Gravar" /></td> </tr> </tfoot> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>'; }else{ require("conexao/bdinc.php"); $total = 0; foreach ($_SESSION['carrinho'] as $id => $valores) { // $arr[3] será atualizado com cada valor de $arr... $cod = $valores[0][0]; $nome = $valores[0][1]; $preco = str_replace(",",".",$valores[0][2]); $qtd = $valores[0][3]; $sub = number_format($preco * $qtd, 2, ',', '.'); $total += $preco * $qtd; $_SESSION['total'] = $total; echo( '<tr> <td>'.$cod.'</td> <td>'.$nome.'</td> <td align="center">'.$qtd.'</td> <td align="right">R$'.$preco.'</td> <td align="right">R$ '.$sub.'</td> <td><a href="?cad=entradas&acao=del&id='.$id.'">Remove</a></td> </tr>'); } $total = number_format($total, 2, ',', '.'); echo '<tr> <td colspan="4">Total</td> <td align="right">R$ '.$total.'</td> </tr>'; } ?> </tbody> </form> </table> </body> </html> A mensagem de notificação acusa uma variável indefinida nessa linha 69; if(count($_SESSION['carrinho']) == 0){
  11. alissong

    colocar variável dentro do array

    Biel, Estou sofrendo para aprender lógica desse array() para construir um carrinho que grava três campos: id, quantidade e preço. Mas vamos lá: Veja o código abaixo pode ajudá-lo: <?php $keys = array('foo', 5, 10, 'bar'); $a = array_fill_keys($keys, 'banana'); print_r($a); ?> Um abraço.
  12. alissong

    gravar multiplos dados na session

    Pessoal tenho formulário que consulta os dados na tabela produto veja o código abaixo: <?php require ("verifica.php"); ?> <HTML> <HEAD> <TITLE>Formulario de Entrada de Itens</TITLE> <script type="text/javascript" src="java/ajaxentrada.js"></script> <script language=javascript> function valida_dados () { if (busca_prod.q_entrada.value <= 0) { alert ("Por favor digite a quantidade maior que zero !"); busca_prod.q_vendida.focus(); return false; } return true; } </script> </HEAD> <BODY> <br> <form name="busca_prod" action="?cad=entradas_p2&mov_entradas&acao=add" method="POST" onsubmit="return valida_dados(this)"> <fieldset> <legend>BUSCA DO PRODUTO</legend> <table cellspacing="1" width="100%"> <tr> <td>Busca:</td> <td><input name="produto[]" type="text" id="busca" size="10" onkeyUp="buscarProduto(this.value)"></td> <td><input name="cod_prod" type="hidden" id="cod_prod" size="10"></td> <td>Nome do Produto</td> <td><input name="desc_prod" type="text" id="desc_prod" size="60" readonly="true"></td> <td>Estoque</td> <td><input name="esto_prod" type="text" id="esto_prod" size="10" readonly="true"</td> <td>Preco Custo</td> <td><input name="produto[]" type="text" id="preco_prod" size="10" value="0"></td> <td>Quantidade</td> <td><input name="produto[]" type="text" id="q_entrada" size="10" value="0"></td> <td></td> <td><input type="submit" name="incluir" value="Incluir"></td> </tr> </table> </fieldset> </form> <BR> <div> <?php // Chama o carrinho de itens include "mov_entradas.php"; ?> </div> </BODY> </HTML> Que ao digitar no campo busca exibe os dados do produto para inclusão na session. Veja código da session abaixo: <?php require ("verifica.php"); if(!isset($_SESSION['mov_entradas'])){ $_SESSION['mov_entradas'] = array(); } //adiciona produto if(isset($_POST['incluir'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $value = ($_POST["produto"]); $var[] = $value; array_push($var, $value); print_r($value).'<br>'; $id = intval($value[0]); $vr = $value[1]; $qtd = $value[2]; if(!isset($_SESSION['mov_entradas'][$id])){ $_SESSION['mov_entradas'][] = $var; $_SESSION['mov_entradas'][] = $qtd; }else{ $_SESSION['mov_entradas'][] += $qtd; } } } ?> Na tela exibi assim: Agora veja a session: Veja que os dados estão repetindo três vezes. Portanto alguém sabe como fazer isso, pois não tenho experiencia em php e session. Preciso gravar as três variáveis: 100;9,90;10 que são codigo, preco e quantidade dos produtos. Alguém sabe como acertaria esse código?
  13. alissong

    Entrada de Produtos em carrinho

    Caro, Williams Duarte, Estou preciso incluir o preço do produto na session por codigo digitado pelo input busa. Veja codigo abaixo: //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = $_POST['busca']; $id = intval($_POST['busca']); $qtd = isset($_POST['q_entrada'])? $_POST['q_entrada']: null; if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = $qtd; }else{ $_SESSION['carrinho'][$id] += $qtd; } } Veja como estão gravando na session[carrinho]: carrinho|a:2:{i:1;s:1:"1";i:1500;s:1:"3";} Onde: i:1 - codigo produto e "1" - quantidade digitada no input q_entrada Sabe como fazer esse inclusão na session da varia preco por codigo digitado no input preco_prod?
  14. alissong

    Entrada de Produtos em carrinho

    Pessoal tenho um formulário que busca o código do produto para inclusão no carrinho de itens. Veja o código abaixo: <?php require ("verifica.php"); ?> <HTML> <HEAD> <TITLE>Formulario de Entrada de Itens</TITLE> <script type="text/javascript" src="java/ajaxentrada.js"></script> <script language=javascript> function valida_dados () { if (busca_prod.q_entrada.value <= 0) { alert ("Por favor digite a quantidade maior que zero !"); busca_prod.q_vendida.focus(); return false; } return true; } </script> </HEAD> <BODY> <br> <form name="busca_prod" action="?cad=entradas_p2&mov_entradas&acao=add" method="POST" onsubmit="return valida_dados(this)"> <fieldset> <legend>BUSCA DO PRODUTO</legend> <table cellspacing="1" width="100%"> <tr> <td>Busca:</td> <td><input name="busca" type="text" id="busca" size="10" onkeyUp="buscarProduto(this.value)"></td> <td><input name="cod_prod" type="hidden" id="cod_prod" size="10"></td> <td>Nome do Produto</td> <td><input name="desc_prod" type="text" id="desc_prod" size="60" readonly="true"></td> <td>Estoque</td> <td><input name="esto_prod" type="text" id="esto_prod" size="10" readonly="true"</td> <td>Preco Custo</td> <td><input name="preco_prod" type="text" id="preco_prod" size="10" value="0"></td> <td>Quantidade</td> <td><input name="q_entrada" type="text" id="q_entrada" size="10" value="0"></td> <td></td> <td><input type="submit" name="acao" value="Incluir"></td> </tr> </table> </fieldset> </form> <BR> <div> <?php // Chama o carrinho de itens include "mov_entradas.php"; ?> </div> </BODY> </HTML> Que chama esse código mov_entradas.php. Segue o código abaixo: <?php require ("verifica.php"); if(!isset($_SESSION['mov_entradas'])){ $_SESSION['mov_entradas'] = array(); } //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = $_POST['busca']; $id = intval($_POST['busca']); if(!isset($_SESSION['mov_entradas'][$id])){ $qtd = $_POST['q_entrada']; $_SESSION['mov_entradas'][$id] = $qtd; }else{ $qtd = $_POST['q_entrada']; $_SESSION['mov_entradas'][$id] += $qtd; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['mov_entradas'][$id])){ unset($_SESSION['mov_entradas'][$id]); } } //ALTERAR QUANTIDADE if(count($_SESSION['mov_entradas']) == 0){ }else{ if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['mov_entradas'][$id] = $qtd; }else{ unset($_SESSION['mov_entradas'][$id]); } } } } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Itens dos Produtos</title> </head> <body> <br> <!-- DADOS DOS ITENS DE PRODUTO--> <fieldset> <legend>INCLUSÃO DE ITENS NO ESTOQUE</legend> <table cellspacing="1"> <thead> <tr> <th width="400">Produto</th> <th width="79">Quantidade</th> <th width="89">Preço</th> <th width="100">SubTotal</th> <th width="64">Remover</th> </tr> </thead> <form action="?cad=entradas_p2&mov_entradas&acao=up" method="post"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Atualizar Item" /></td> <td colspan="5"><a href="?cad=exibir_entradas">Gravar Dados</a></td> </tr> </tfoot> <tbody> <?php if(count($_SESSION['mov_entradas']) == 0){ echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>'; }else{ require("conexao/bdinc.php"); $total = 0; foreach($_SESSION['mov_entradas'] as $id => $qtd){ $sql = "SELECT * FROM tabela_produto WHERE cod_produto= '$id'"; $qr = mysqli_query($con,$sql); $ln = mysqli_fetch_assoc($qr); $nome = $ln['descricao']; $preco = $_POST['preco_prod']; $sub = number_format(($preco * $qtd), 2, ',', '.'); $total += $preco * $qtd; echo '<tr> <td>'.$nome.'</td> <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td> <td align ="right">R$ '.$preco.'</td> <td align ="right">R$ '.$sub.'</td> <td align ="right"><a href="?cad=entradas_p2&mov_entradas&acao=del&id='.$id.'">Remove</a></td> </tr>'; } $total = number_format($total, 2, ',', '.'); echo '<tr> <td colspan="4">Total</td> <td>R$ '.$total.'</td> </tr>'; } ?> </tbody> </form> </table> </fieldset> </body> </html> O código exibe três erros: 1 - Quando o usuário digitar aqui <td><input name="preco_prod" type="text" id="preco_prod" size="10" value="0"></td> o carrinho exibe o mesmo valor para todos os itens; 2 - Quando o usuário clica em remover exibe esse mensagem: Notice: Undefined index: preco_prod in C:\Apache24\htdocs\estoque\mov_entradas.php on line 97; 3 - Quando o usuário clica em atualiza Item exibe esse mensagem: Notice: Undefined index: preco_prod in C:\Apache24\htdocs\estoque\mov_entradas.php on line 97 e os itens fica tudo com zero. Portanto, como faço para acerta essas parte do código para reconhecer o valor digitado pelo usuario no input preco_prod //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['mov_entradas'][$id])){ unset($_SESSION['mov_entradas'][$id]); } } //ALTERAR QUANTIDADE if(count($_SESSION['mov_entradas']) == 0){ }else{ if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['mov_entradas'][$id] = $qtd; }else{ unset($_SESSION['mov_entradas'][$id]); } } } } } }
  15. alissong

    Formulário de Contato PHP com verificador de CPF

    Prezado Bitiura, $CPF = $_POSTE['CPF']; O correto seria assim: $CPF = $_POST['CPF']; Atenciosamente, Alissong
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.