Ir para conteúdo

Israel Lira

Members
  • Total de itens

    18
  • Registro em

  • Última visita

Tudo que Israel Lira postou

  1. Por gentileza, preciso de ajuda! estou iniciando aqui na comunidade e recente no flutter. Tenho uma missão de utilizar o json e controller dos inputs. Preciso pelo botão (ADD) sair da Primeira tela redirecionar para a Segunda tela, salvar ao colocar os inputs e retornar para a primeira mostrando (nome e valor). O formulário da Segunda Tela terá campos: nome, telefone, data e valor. Quero manter a função dismissible para termos o efeito de arrastar o item da lista. Segue o que estou fazendo mais com erros. Não sei como proceder e apanhando a vários dias! import 'dart:async'; import 'dart:convert'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:path_provider/path_provider.dart'; void main(){ runApp(MaterialApp( home: Home(), )); } class Home extends StatefulWidget { @override _HomeState createState() => _HomeState(); } class _HomeState extends State<Home> { final _toDoController = TextEditingController(); List _toDoList = [SegundaRota]; Map<String, dynamic> _lastRemoved; int _lastRemovedPos; @override void initState() { super.initState(); _readData().then((data) { setState(() { _toDoList = json.decode(data); }); }); } void _addToDo() { setState(() { Map<String, dynamic> newToDo = Map(); newToDo["title"] = _toDoController.text; _toDoController.text = ""; newToDo["ok"] = false; _toDoList.add(newToDo); _saveData(); }); } Future<Null> _refresh() async{ await Future.delayed(Duration(seconds: 1)); setState(() { _toDoList.sort((a, b){ if(a["ok"] && !b["ok"]) return 1; else if(!a["ok"] && b["ok"]) return -1; else return 0; }); _saveData(); }); return null; } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Lista de Tarefas"), backgroundColor: Colors.blueAccent, centerTitle: true, ), body: Column( children: <Widget>[ Container( padding: EdgeInsets.fromLTRB(17.0, 1.0, 7.0, 1.0), child: Row( children: <Widget>[ RaisedButton( color: Colors.blueAccent, child: Text("ADD"), textColor: Colors.white, onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) => SegundaRota()), ); }, ) ], ), ), Expanded( child: RefreshIndicator(onRefresh: _refresh, child: ListView.builder( padding: EdgeInsets.only(top: 10.0), itemCount: _toDoList.length, itemBuilder: buildItem),), ) ], ), ); } Widget buildItem(BuildContext context, int index){ return Dismissible( key: Key(DateTime.now().millisecondsSinceEpoch.toString()), background: Container( color: Colors.red, child: Align( alignment: Alignment(-0.9, 0.0), child: Icon(Icons.delete, color: Colors.white,), ), ), direction: DismissDirection.startToEnd, child: CheckboxListTile( title: Text(_toDoList[index]["title"]), value: _toDoList[index]["ok"], secondary: CircleAvatar( child: Icon(_toDoList[index]["ok"] ? Icons.check : Icons.error),), onChanged: (c){ setState(() { _toDoList[index]["ok"] = c; _saveData(); }); }, ), onDismissed: (direction){ setState(() { _lastRemoved = Map.from(_toDoList[index]); _lastRemovedPos = index; _toDoList.removeAt(index); _saveData(); final snack = SnackBar( content: Text("Tarefa \"${_lastRemoved["title"]}\" removida!"), action: SnackBarAction(label: "Desfazer", onPressed: () { setState(() { _toDoList.insert(_lastRemovedPos, _lastRemoved); _saveData(); }); }), duration: Duration(seconds: 2), ); Scaffold.of(context).removeCurrentSnackBar(); Scaffold.of(context).showSnackBar(snack); }); }, ); } Future<File> _getFile() async { final directory = await getApplicationDocumentsDirectory(); return File("${directory.path}/data.json"); } Future<File> _saveData() async { String data = json.encode(_toDoList); final file = await _getFile(); return file.writeAsString(data); } Future<String> _readData() async { try { final file = await _getFile(); return file.readAsString(); } catch (e) { return null; } } } class SegundaRota extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text("Segunda Rota (tela)"), ), body: Column( children: <Widget>[ Container( padding: EdgeInsets.fromLTRB(17.0, 1.0, 7.0, 1.0), child: Row( children: <Widget>[ Expanded( child: TextField( controller: _toDoController, decoration: InputDecoration( labelText: "Nova Tarefa", labelStyle: TextStyle(color: Colors.blueAccent) ), ) ), RaisedButton( color: Colors.blueAccent, child: Text("ADD"), textColor: Colors.white, onPressed: _addToDo, ) ], ), ), Expanded( child: RefreshIndicator(onRefresh: _refresh, child: ListView.builder( padding: EdgeInsets.only(top: 10.0), itemCount: _toDoList.length, itemBuilder: buildItem),), ) ], ), body: Center( child: RaisedButton( onPressed: () { Navigator.pop(context); }, child: Text('Retornar !'), ), ), ); } }
  2. <?php var inss = 8%; $tabela = '<table border="1" border: solid gray 5px;>';//abre table $tabela .='<thead>';//abre cabeçalho $tabela .= '<tr>';//abre uma linha $tabela .= '</tr>';//fecha linha $tabela .='</thead>'; //fecha cabeçalho $tabela .='<tbody>';//abre corpo da tabela $db = pg_connect("port=55432 dbname=folha user=fortesrh password=1234"); $consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome"); while ($linha = pg_fetch_array($consulta)) {//declaração da variável linha trazendo o resultado da query $tabela .= '<th colspan="2" width="210px">Folha de Pagamento</th>'; $tabela .= '<th colspan="3" width="410px">Data e Assinatura: ____/____/_____ ___________________________________________________</th>'; $tabela .= '</tr>';//fecha linha $tabela .= '<th width="170px" height="20px" align="left">Empresa: XP Seriços Demonstrativos Ltda ME</th>'; $tabela .= '<th width="100px" align="left">CNPJ: 00.000.000/0000-00</th>'; $tabela .= '<th width="150px" align="center">Admissão: 10/05/2019</th>'; $tabela .= '<th width="150px" align="center">Competência: Junho de 2019</th>'; $tabela .= '</tr>';//fecha linha $tabela .= '<tr>'; // abre uma linha $tabela .= '<td>'.$linha['nome'].'</td>'; // coluna nome do funcionario $tabela .= '<td align="center">'.$linha['cargo'].'</td>'; // coluna cargo $tabela .= '<td align="center">'.$linha['salario'].'</td>'; // coluna salario $tabela .= '<td align="center">'.$linha['salario * inss'].'</td>'; // coluna salario $tabela .= '</tr>'; // fecha linha $tabela .= '<th width="550px" colspan="5" align="center">----------------------------------------------------------------------</th>'; $tabela .= '</tr>'; // fecha linha } $tabela .='</tbody>'; //fecha corpo $tabela .= '</table>';//fecha tabela echo $tabela; // imprime ?>
  3. Tem mais uma situação que tentei mais não avançou. Quero totalizar um somatório de salario + diasdescanso. $tabela .= '<td width="150px" align="center">'.number_format ((str_replace (',', '.', preg_replace ('#[^\d\,]#is', '', $linha['salario'])) + $linha [ 'salario' ] / $diasdescanso), 2, ',', '.').'</td>';
  4. Show! deu certo. Vou fazer as demais implementações. Muito obrigado.
  5. Apresentou o erro: O valor para calcular: 2990,00 x8% = 239.20 Script modificado: <?php $inss = 8; $tabela = '<table border="1" border: solid gray 5px;>';//abre table $tabela .='<thead>';//abre cabeçalho $tabela .= '<tr>';//abre uma linha $tabela .= '</tr>';//fecha linha $tabela .='</thead>'; //fecha cabeçalho $tabela .='<tbody>';//abre corpo da tabela $db = pg_connect("port=55432 dbname=folha user=fortesrh password=1234"); $consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome"); while ($linha = pg_fetch_array($consulta)) {//declaração da variável linha trazendo o resultado da query $tabela .= '<th colspan="2" width="210px">Folha de Pagamento</th>'; $tabela .= '<th colspan="3" width="410px">Data e Assinatura: ____/____/_____ ___________________________________________________</th>'; $tabela .= '</tr>';//fecha linha $tabela .= '<th width="170px" height="20px" align="left">Empresa: XP Seriços Demonstrativos Ltda ME</th>'; $tabela .= '<th width="100px" align="left">CNPJ: 00.000.000/0000-00</th>'; $tabela .= '<th width="150px" align="center">Admissão: 10/05/2019</th>'; $tabela .= '<th width="150px" align="center">Competência: Junho de 2019</th>'; $tabela .= '</tr>';//fecha linha $tabela .= '<tr>'; // abre uma linha $tabela .= '<td>'.$linha['nome'].'</td>'; // coluna nome do funcionario $tabela .= '<td align="center">'.$linha['cargo'].'</td>'; // coluna cargo $tabela .= '<td align="center">'.$linha['salario'].'</td>'; // coluna salario $tabela .= '<td align="center">' . $linha [ 'salario' ] * ( $inss / 100 ) . '</td>'; $tabela .= '</tr>'; // fecha linha $tabela .= '<th width="550px" colspan="5" align="center">----------------------------------------------------------------------</th>'; $tabela .= '</tr>'; // fecha linha } $tabela .='</tbody>'; //fecha corpo $tabela .= '</table>';//fecha tabela echo $tabela; // imprime ?>
  6. Israel Lira

    PHP obter return conforme valor informado no select

    Caros, não estou sabendo implementar duas consultas quando o usuário clicar no (button). É uma proposta de apresentar a folha, mostrar os funcionários pelo SELECT . Atualmente, consigo fazer com que ele veja se existe a referencia e se não existir apresenta um span de não encontrado. Preciso que faça de imediato uma sub-consulta trazendo os dados do select abaixo e se possivel implementar um exemplo calculando por exemplo um desconto de inss, por exemplo.: Salário: 1200,00 * 8% = 96,00. consultaBanco("SELECT funcionario.nome, funcionario.cargo, cargo.salario, folhamesano.mesano FROM funcionario, cargo, folhamesano WHERE funcionario.cargo = cargo.descricao AND folhamesano.mesano='{$codigoMes}'"); Segue primeiro o consulta folha: <!DOCTYPE html> <html> <head> <title>Consultar Folha</title> <link rel="stylesheet" type="text/css" href="style.css" > <!-- Por comodidade, eu estou usando jquery direto do site deles, isso é mto comum e recomendado inclusive. --> <script src="https://code.jquery.com/jquery-3.4.0.min.js" type="text/javascript"></script> <script src="js/jquery.mask.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $("#cpf").mask("000.000.000-00"); $("#rg").mask("0.000.000"); $("#horario").mask("00:00"); $("#Mesano").mask("00/0000"); }); /** * Este aqui é o nosso método Javascript que irá fazer a requisição assincrona */ function pesquisarMesano(codigoMes) { document.getElementById('mensagem_erro').innerText = ''; /** Teste*/ document.getElementById('mensagem_folha').innerText = ''; /** Teste*/ $.get( '/FOLHADEPAGAMENTO/RECIBOFOLHA/obtemFolhaPorCodigo.php', { codigoMes: codigoMes }, function (response) { if (response.erro === 404) { /** * Eu nao estou usando o Jquery para obter os elementos, isso pq na versao do Javascript dos navegadores modernos, nao é mais necessario o jquery para isso */ document.getElementById('formFolhamesano').reset(); document.getElementById('mensagem_erro').innerText = 'Folhamesano #'+codigoMes+' não encontrado!'; return; } document.getElementById('mensagem_folha').innerText = 'Folhamesano #'+codigoMes+' teste!'; document.getElementById('mesano').value = response.mesano; document.getElementById('nome').value = response.nome; document.getElementById('cargo').value = response.cargo; document.getElementById('salario').value = response.salario; document.getElementById('descricao').value = response.descricao; document.getElementById('horario').value = response.horario; }, 'json' ); } </script> <style type="text/css"> #corposistema{ width: 1200px auto; height: 500px auto; } #corpocadastro{ border: solid gray 5px; width: 300px; height: 210px; border-radius: 5px; margin: 120px auto; background: white; padding: 50px; } #botao{ color: #fff; margin-left: 370px; margin-top: -170px; background: #337ab7; border-radius: 85%; background: #337ab7; text-align: center; padding-top: 0 auto; } #botaocancelar{ height: 70%; color: #fff; margin-left: 370px; margin-top: -5px; padding-top: 0 auto; background: #337ab7; text-align: center; border-radius: 85%; } </style> </head> <?php include "banco_de_dados.php"; if(!empty($_GET['codigoMes'])){ $codigoMes = (int) $_GET['codigoMes']; $row = consultaBanco("SELECT funcionario.nome, funcionario.cargo, cargo.salario, folhamesano.mesano from funcionario, cargo, folhamesano WHERE funcionario.cargo = cargo.descricao AND folhamesano.mesano='{$codigoMes}'"); $codigoMes = $row['codigoMes']; $nome = $row['nome']; $rg = $row['rg']; $cpf = $row['cpf']; $descricao = $row['descricao']; $horario = $row['horario']; } else $codigoMes = $nome = $rg = $cpf = $descricao = $horario = null; ?> <body> <div id="corposistema"> <div id="corpocadastro"> <form id="formFolhamesano" action="/FOLHADEPAGAMENTO/RECIBOFOLHA/CADASTROFOLHA.php" method="POST"> <p> <label>Competência </label> <input name="codigoMes" id="Mesano" type="text" style="width: 20%" value="<?=$codigoMes?>" required/> <button type="button" onclick="pesquisarMesano(this.form.elements['codigoMes'].value)">Pesquisar</button> <span style="color: red" id="mensagem_erro"></span><br/> <span style="color: red" id="mensagem_folha"></span><br/> </p> </form> <form action="/FOLHADEPAGAMENTO/RECIBOFOLHA/FOLHACADASTRADOS.php" method="POST"> <div id="botaocancelar"> <p> <input type="submit" id="btn" value=" Cancelar " /> </p> </div> </form> </div>  </div> </body> </html> ___________________________________________________ <?php require "banco_de_dados.php"; function obtemfolhamesanoPorId($codigoMes) { return consultaBanco("SELECT funcionario.nome, funcionario.cargo, cargo.salario, folhamesano.mesano FROM funcionario, cargo, folhamesano WHERE funcionario.cargo = cargo.descricao AND folhamesano.mesano='{$codigoMes}'"); } /** * Esse é o script que irá responder a requisição assincrona que criamos no Javascript * * Aqui eu espero que a query string codigoFuncionario esteja definida (Pode estar vazia, mas precisa estar definida, por exemplo, codigoCargo= ) por isso usei isset * * */ if (isset($_GET['codigoMes'])) { $codigoMes = $_GET['codigoMes']; $nome = $_GET['nome']; /** Novamente encapsulando em métodos para adicionar contexto ao código */ $folhamesano = obtemfolhamesanoPorId($codigoMes); if (empty($folhamesano)) { /** Como este é um código bem simples, usei o die para escrever o valor de saida * isso pq eu quero neste caso o texto seja escrito e a aplicação pare aqui * Eu poderia user um echo seguido de um return, mas para adicionar contexto * eu usei um método que deixe claro a intenção. Morre aqui e escreve o que eu estou pedindo. */ die(json_encode([ 'erro' => 404, ])); $tabela = '<table border="1" border: solid gray 5px;>';//abre table $tabela .='<thead>';//abre cabeçalho $tabela .= '<tr>';//abre uma linha $tabela .= '<th width="410px">Nome</th>'; $tabela .= '<th width="300px">cargo</th>'; $tabela .= '<th width="140px">salario</th>'; $tabela .= '</tr>';//fecha linha $tabela .='</thead>'; //fecha cabeçalho $tabela .='<tbody>';//abre corpo da tabela $db = pg_connect("port=55432 dbname=folha user=fortesrh password=1234"); $consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome"); while ($linha = pg_fetch_array($consulta)) {//declaração da variável linha trazendo o resultado da query $tabela .= '<tr>'; // abre uma linha $tabela .= '<td>'.$linha['nome'].'</td>'; // coluna nome do funcionario $tabela .= '<td align="center">'.$linha['cargo'].'</td>'; // coluna cargo $tabela .= '<td align="center">'.$linha['salario'].'</td>'; // coluna salario $tabela .= '</tr>'; // fecha linha } $tabela .='</tbody>'; //fecha corpo $tabela .= '</table>';//fecha tabela echo $tabela; // imprime } /** Neste caso eu quero escrever e sair (Se nada acontecer depois, ele irá sair sozinho), poderia usar o die, sim. Mas nao é um ponto onde precisa morrer, apenas sair um texto */ echo json_encode($folhamesano); } else { die(json_encode([ 'erro' => 404, ])); }
  7. Israel Lira

    PHP - fazer duas consultas por um único button

    Caros, não estou sabendo implementar duas consultas quando o usuário clicar no (button). É uma proposta de apresentar a folha, mostrar os funcionários pelo SELECT . Atualmente, consigo fazer com que ele veja se existe a referencia e se não existir apresenta um span de não encontrado. Preciso que faça de imediato uma sub-consulta trazendo os dados do select abaixo e se possivel implementar um exemplo calculando por exemplo um desconto de inss, por exemplo.: Salário: 1200,00 * 8% = 96,00. $consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome"); Segue primeiro o consulta folha: <!DOCTYPE html> <html> <head> <title>Consultar Folha</title> <link rel="stylesheet" type="text/css" href="style.css" > <!-- Por comodidade, eu estou usando jquery direto do site deles, isso é mto comum e recomendado inclusive. --> <script src="https://code.jquery.com/jquery-3.4.0.min.js" type="text/javascript"></script> <script src="js/jquery.mask.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $("#cpf").mask("000.000.000-00"); $("#rg").mask("0.000.000"); $("#horario").mask("00:00"); $("#Mesano").mask("00/0000"); }); /** * Este aqui é o nosso método Javascript que irá fazer a requisição assincrona */ function pesquisarMesano(codigoMes) { document.getElementById('mensagem_erro').innerText = ''; /** * Este é o método do Jquery que nos ajuda com o assincrono * Aqui ele faz uma request para http://nome_do_nosso_servidor/FOLHAPAGAMENTO/obtemFuncionarioPorCodigo.php * e passa como query string o parametro codigoFuncionario no final a url fica assim: * http://nome_do_nosso_servidor/FOLHAPAGAMENTO/obtemFuncionarioPorCodigo.php?codigoFuncionario=VALOR * * O valor da matricula do funcionario é passado pelo botao lá no form, ele obtem o valor do campo e passa para o método */ $.get( '/FOLHADEPAGAMENTO/RECIBOFOLHA/obtemFolhaPorCodigo.php', { codigoMes: codigoMes }, /** * Esse método aqui será chamado pelo Jquery assim que o script obtemFuncionarioPorCodigo.php * imprimir qualquer coisa. * Isso é chamado 'callback' e como parametro recebemos a resposta devolvida pelo script php */ function (response) { /** * Para entender os valores de response, de uma olhada no script obtemFunncionarioPorCodigo primeiro. * Tudo que está aqui (response.erro, response.descricao e response.salario) foi ele quem devolveu. */ if (response.erro === 404) { /** * Eu nao estou usando o Jquery para obter os elementos, isso pq na versao do Javascript dos navegadores modernos, nao é mais necessario o jquery para isso */ document.getElementById('formFolhamesano').reset(); document.getElementById('mensagem_erro').innerText = 'Folhamesano #'+codigoMes+' não encontrado!'; return; } document.getElementById('mesano').value = response.mesano; document.getElementById('nome').value = response.nome; document.getElementById('cargo').value = response.cargo; document.getElementById('salario').value = response.salario; document.getElementById('descricao').value = response.descricao; document.getElementById('horario').value = response.horario; }, 'json' ); } </script> <style type="text/css"> #corposistema{ width: 1200px auto; height: 500px auto; } #corpocadastro{ border: solid gray 5px; width: 300px; height: 210px; border-radius: 5px; margin: 120px auto; background: white; padding: 50px; } #botao{ color: #fff; margin-left: 370px; margin-top: -170px; background: #337ab7; border-radius: 85%; background: #337ab7; text-align: center; padding-top: 0 auto; } #botaocancelar{ height: 70%; color: #fff; margin-left: 370px; margin-top: -5px; padding-top: 0 auto; background: #337ab7; text-align: center; border-radius: 85%; } </style> </head> <?php include "banco_de_dados.php"; if(!empty($_GET['codigoMes'])){ $codigoMes = (int) $_GET['codigoMes']; /** Comentários do Adriano * Aqui simpliquei o uso do banco deixando apenas o que me importa. Conectar ao banco toda hora copiando aquele código * só vai sujar o seu script e te atrapalhar a encontrar possiveis problemas no futuro. * * O ideial seria desacoplar tudo, PHP no seu canto (E desacoplar o script PHP - código importante para um lado, código de banco para outro) * HTML esperando apenas valores e sem logico de PHP. * * Mas isso é para o futuro mas é bom ter em mente. */ $row = consultaBanco("SELECT folhamesano.mesano FROM folhamesano WHERE folhamesano.mesano='{$codigoMes}'"); $codigoMes = $row['codigoMes']; } else $codigoMes = null; ?> <body> <div id="corposistema"> <div id="corpocadastro"> <form id="formFolhamesano" action="/FOLHADEPAGAMENTO/RECIBOFOLHA/CADASTROFOLHA.php" method="POST"> <p> <label>Competência </label> <input name="codigoMes" id="Mesano" type="text" style="width: 20%" value="<?=$codigoMes?>" required/> <button type="button" onclick="pesquisarMesano(this.form.elements['codigoMes'].value)">Pesquisar</button> <span style="color: red" id="mensagem_erro"></span><br/> </p> </form> <form action="/FOLHADEPAGAMENTO/RECIBOFOLHA/FOLHACADASTRADOS.php" method="POST"> <div id="botaocancelar"> <p> <input type="submit" id="btn" value=" Cancelar " /> </p> </div> </form> </div>  </div> </body> </html> -------------------------------------------------------- Segue o script que irá responder a requisição: <?php require "banco_de_dados.php"; function obtemfolhamesanoPorId($codigoMes) { return consultaBanco("SELECT folhamesano.mesano FROM folhamesano WHERE folhamesano.mesano='{$codigoMes}'"); } /** * Esse é o script que irá responder a requisição assincrona que criamos no Javascript * * Aqui eu espero que a query string codigoFuncionario esteja definida (Pode estar vazia, mas precisa estar definida, por exemplo, codigoCargo= ) por isso usei isset * * */ if (isset($_GET['codigoMes'])) { $codigoMes = $_GET['codigoMes']; /** Novamente encapsulando em métodos para adicionar contexto ao código */ $folhamesano = obtemfolhamesanoPorId($codigoMes); if (empty($folhamesano)) { /** Como este é um código bem simples, usei o die para escrever o valor de saida * isso pq eu quero neste caso o texto seja escrito e a aplicação pare aqui * Eu poderia user um echo seguido de um return, mas para adicionar contexto * eu usei um método que deixe claro a intenção. Morre aqui e escreve o que eu estou pedindo. */ die(json_encode([ 'erro' => 404, ])); } /** Neste caso eu quero escrever e sair (Se nada acontecer depois, ele irá sair sozinho), poderia usar o die, sim. Mas nao é um ponto onde precisa morrer, apenas sair um texto */ echo json_encode($folhamesano); } else { die(json_encode([ 'erro' => 404, ])); $tabela = '<table border="1" border: solid gray 5px;>';//abre table $tabela .='<thead>';//abre cabeçalho $tabela .= '<tr>';//abre uma linha $tabela .= '<th width="410px">Nome</th>'; $tabela .= '<th width="300px">cargo</th>'; $tabela .= '<th width="140px">salario</th>'; $tabela .= '</tr>';//fecha linha $tabela .='</thead>'; //fecha cabeçalho $tabela .='<tbody>';//abre corpo da tabela $db = pg_connect("port=55432 dbname=folha user=fortesrh password=1234"); $consulta=pg_query($db,"SELECT funcionario.nome, funcionario.cargo, cargo.salario from funcionario INNER JOIN cargo ON funcionario.cargo = cargo.descricao ORDER BY funcionario.nome"); while ($linha = pg_fetch_array($consulta)) {//declaração da variável linha trazendo o resultado da query $tabela .= '<tr>'; // abre uma linha $tabela .= '<td>'.$linha['nome'].'</td>'; // coluna nome do funcionario $tabela .= '<td align="center">'.$linha['cargo'].'</td>'; // coluna cargo $tabela .= '<td align="center">'.$linha['salario'].'</td>'; // coluna salario $tabela .= '</tr>'; // fecha linha } $tabela .='</tbody>'; //fecha corpo $tabela .= '</table>';//fecha tabela echo $tabela; // imprime }
  8. Israel Lira

    Mostrar opton do select

    ...
  9. Israel Lira

    PHP select and update

    .
  10. Israel Lira

    PHP select and update

    Resolvido.
  11. Israel Lira

    PHP select and update

    Quero excluir este tópico.
  12. Israel Lira

    PHP select and update

    Fiz uma alteração na coluna salario do postgres para character varying. Agora, consigo atualizar a coluna descricao, mas a coluna salario faz é desaparecer a informação que tinha. Exemplo: Tinha a informação codigo descricao salario no banco de dados: 36 RECURSOS HUMANOS 1.200,00 Teste de validação: Atualizando a descricao e salario seria por exemplo descricao = 'PROFESSOR' e salario = '1.500,00' Ex.: codigo descricao salário 36 PROFESSOR Segue os códigos: CARGOSEDITAR.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link rel="stylesheet" type="text/css" media="screen" /> <script src="js/jquery-3.4.0.min.js" type="text/javascript"></script> <script src="js/jquery.mask.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $("#salario").mask("0.000,00"); }) </script> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código: </label> <input name="codigo" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição: </label> <input name="descricao" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário: </label> <input name="salario" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> <form action="http://localhost/FOLHADEPAGAMENTO/CARGOSCADASTRADOS.php" method="POST"> <p> <input type="submit" id="btn" value="Voltar" /> </p> </form>  </body> </html> Fiz uma alteração na coluna salario do postgres para character varying. Agora, consigo atualizar a coluna descricao, mas a coluna salario faz é desaparecer a informação que tinha. Exemplo: Tinha a informação codigo descricao salario no banco de dados: 36 RECURSOS HUMANOS 1.200,00 Teste de validação: Atualizando a descricao e salario seria por exemplo descricao = 'PROFESSOR' e salario = '1.500,00' Ex.: codigo descricao salário 36 PROFESSOR Segue os códigos: CARGOSEDITAR.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link rel="stylesheet" type="text/css" media="screen" /> <script src="js/jquery-3.4.0.min.js" type="text/javascript"></script> <script src="js/jquery.mask.min.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready(function(){ $("#salario").mask("0.000,00"); }) </script> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código: </label> <input name="codigo" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição: </label> <input name="descricao" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário: </label> <input name="salario" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> <form action="http://localhost/FOLHADEPAGAMENTO/CARGOSCADASTRADOS.php" method="POST"> <p> <input type="submit" id="btn" value="Voltar" /> </p> </form>  </body> </html>
  13. Israel Lira

    .

    .
  14. Israel Lira

    <br /><b>Notice</b>: Undefined variable: codigo in

    CARGOSEDITAR.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição</label> <input name="descricao" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form>  </body> </html>
  15. Israel Lira

    PHP query com select and update

    A proposta é o usuário digitar no campo CODIGO e pelo query fazer uma consulta com script localizando o dado e redirecionado ao script de atualização no CARGO ou no VALOR. Segue os scripts de consulta e de atualização: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" readonly="1" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição</label> <input name="descricao" readonly="1" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" readonly="1" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> </body> </html> -------------------------------------------------------------------------------- <?php $dados = $_POST; if ($dados['codigo']) { /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); /** Atribui a variável $query a instrução para deletar um registro. */ $query = "UPDATE cargo SET descricao = '{$dados['descricao']}', salario = '{$dados['salario']}' WHERE codigo = '{$dados['codigo']}'"; $resultado = pg_query($db, $query); /** Executa a consulta na conexão com o banco de dados e com query*/ if ($resultado) { print 'Cargo atualizado com sucesso'; } else { print pg_last_error($db); } /** Fecha a conexão com o PostgreSQL */ pg_close ($db); } ?>
  16. Israel Lira

    <br /><b>Notice</b>: Undefined variable: codigo in

    Fiz algumas buscas, até encontrei várias referencias apontando o mesmo erro que o meu, porém, não entendi ao certo o problema.  Ao abrir uma pagina estou obtendo o seguinte erro: <br /><b>Notice</b>: Undefined variable: codigo in <b>D:\PROJETOS\LOCALHOST\FOLHADEPAGAMENTO\CARGOSEDITAR.php</b> on line <b>36</b><br /> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if (!empty($_GET['codigo'])) { /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" readonly="1" type="text" style="width: 30%" value="<?=$codigo?>"><br> </form> <label>Descrição</label> <input name="descricao" readonly="1" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" readonly="1" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> </body> </html>
  17. Israel Lira

    <br /><b>Notice</b>: Undefined variable: codigo in

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> Editar cargo </title> <link href="css/form.css" rel="stylesheet" type="text/css" media="screen" /> </head> <?php if(!empty($_GET['codigo'])){ /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); $codigo = (int) $_GET['codigo']; $resultado = pg_query($db, "SELECT * FROM cargo WHERE codigo='{$codigo}'"); $row = pg_fetch_assoc($resultado); $codigo = $row['codigo']; $descricao = $row['descricao']; $salario = $row['salario']; } else $codigo = $descricao = $salario = null; ?> <body> <form enctype="multipart/form-data" action="http://localhost/FOLHADEPAGAMENTO/CARGOSALVARUPDATE.php" method="POST"> <label>Código</label> <input name="codigo" readonly="1" type="text" style="width: 30%" value="<?=$codigo?>"><br> <label>Descrição</label> <input name="descricao" readonly="1" type="text" style="width: 50%" value="<?=$descricao?>"><br> <label>Salário</label> <input name="salario" readonly="1" type="text" style="width: 25%" value="<?=$salario?>"><br> <input type="submit"> </form> </body> </html> -------------------------------------------------------------------------------- <?php $dados = $_POST; if ($dados['codigo']) { /** Conecta com o PostgreSQL */ $dns = "port=55432 dbname=folha user=fortesrh password=1234"; $db = pg_connect($dns); /** Atribui a variável $query a instrução para deletar um registro. */ $query = "UPDATE cargo SET descricao = '{$dados['descricao']}', salario = '{$dados['salario']}' WHERE codigo = '{$dados['codigo']}'"; $resultado = pg_query($db, $query); /** Executa a consulta na conexão com o banco de dados e com query*/ if ($resultado) { print 'Cargo atualizado com sucesso'; } else { print pg_last_error($db); } /** Fecha a conexão com o PostgreSQL */ pg_close ($db); } ?>
×

Informação importante

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