Ir para conteúdo

Israel Lira

Members
  • Total de itens

    18
  • Registro em

  • Última visita

Reputação

0 Comum

Sobre Israel Lira

  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. 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>';
  3. Show! deu certo. Vou fazer as demais implementações. Muito obrigado.
  4. 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 ?>
  5. <?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 ?>
  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

    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>
  12. Israel Lira

    .

    .
  13. Israel Lira

    PHP select and update

    Quero excluir este tópico.
  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>
×

Informação importante

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