Ir para conteúdo
Fórum Script Brasil

marcusufsj

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre marcusufsj

marcusufsj's Achievements

0

Reputação

  1. Olá pessoal, tudo jóia? Gostaria de contar com a ajuda dos feras aqui do fórum para validar se o campo produto do meu formulário tem exatamente o mesmo registro de uma coluna do banco, é possível? Esse formulário é adaptado de um repositório que encontrei no git, como NÃO SOU dev fui apenas adaptando para minhas necessidades com o pouco que eu sei. A questão agora é só deixar o usuário submeter o form se o dado que ele preencheu no "produto" existir dentro de outra tabela, mais ou menos como se fosse uma verificação de login. <style type="text/css"> <!-- .style1 { color: #FF0000; font-size: medium; } } --> </style> <?php require 'banco.php'; //Acompanha os erros de validação // Processar so quando tenha uma chamada post if ($_SERVER["REQUEST_METHOD"] == "POST") { $produtoErro = null; $quantidadeErro = null; $colaboradorErro = null; if (!empty($_POST)) { $validacao = True; $novoUsuario = False; if (!empty($_POST['produto'])) { $produto = $_POST['produto']; } else { $produtoErro = 'Insira o produto!'; $validacao = False; } if (!empty($_POST['quantidade'])) { $quantidade = $_POST['quantidade']; } else { $quantidadeErro = 'Digite a quantidade!'; $validacao = False; } if (!empty($_POST['colaborador'])) { $colaborador = $_POST['colaborador']; } else { $colaboradorErro = 'Digite seu nome!'; $validacao = False; } } $setor = $_POST['setor']; $observacao = $_POST['observacao']; $lote = $_POST['lote']; //Inserindo no Banco: if ($validacao) { $pdo = Banco::conectar(); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "INSERT INTO retirada (data, produto, quantidade, colaborador, setor, observacao, lote, valida_op) VALUES(NOW(),?,?,?,?,?,?,'valida')"; $q = $pdo->prepare($sql); $q->execute(array($produto, $quantidade, $colaborador, $setor, $observacao, $lote)); Banco::desconectar(); header("Location: retirada.php"); } } ?> <script> </script> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="utf-8"> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="assets/css/bootstrap.min.css"> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> <title>Retirada</title> </head> <body> <div class="container"> <div clas="span10 offset1"> <div class="card"> <div class="card-header"> <h3 class="well"> Cadastro de retirada </h3> </div> <div class="card-body"> <form class="form-horizontal" action="retirada.php" method="post"> <div class="control-group <?php echo !empty($produtoErro) ? 'error ' : ''; ?>"> <label class="control-label">Produto:</label><span class="style1">*</span> <div class="controls"> <input size="50" class="form-control" name="produto" id="produto" type="text" placeholder="Escaneie o cód. do produto" value="<?php echo !empty($produto) ? $produto : ''; ?>"> <?php if (!empty($produtoErro)): ?> <span class="text-danger"><?php echo $produtoErro; ?></span> <?php endif; ?> </div> </div> <div class="control-group <?php echo !empty($quantidadeErro) ? 'error ' : ''; ?>"> <label class="control-label">Quantidade:</label><span class="style1">*</span> <div class="controls"> <input size="80" class="form-control" name="quantidade" type="number" placeholder="Digite a quantidade" value="<?php echo !empty($quantidade) ? $quantidade : ''; ?>"> <?php if (!empty($quantidadeErro)): ?> <span class="text-danger"><?php echo $quantidadeErro; ?></span> <?php endif; ?> </div> </div> <div class="control-group <?php echo !empty($colaboradorErro) ? 'error ' : ''; ?>"> <label class="control-label">Colaborador:</label><span class="style1">*</span> <div class="controls"> <input size="35" class="form-control" name="colaborador" type="text" placeholder="Digite seu nome" value="<?php echo !empty($colaborador) ? $colaborador : ''; ?>"> <?php if (!empty($colaboradorErro)): ?> <span class="text-danger"><?php echo $colaboradorErro; ?></span> <?php endif; ?> </div> </div> <div class="control-group"> <label class="control-label">Setor:</label> <div class="controls"> <input size="40" class="form-control" name="setor" type="text" placeholder="Setor de destino"> </div> </div> <div class="control-group"> <label class="control-label">Observações:</label> <div class="controls"> <input size="40" class="form-control" name="observacao" type="text" placeholder="Observações"> </div> </div> <div class="control-group"> <label class="control-label">Lote(APENAS para PCR):</label> <div class="controls"> <input size="40" class="form-control" name="lote" type="text" placeholder="Lote do(s) kit(s) de amplificação"> </div> </div> </br><h6 class="well" >Campos com <span class="style1">*</span> são obrigatórios</h6> <div class="form-actions"> <br/> <button type="submit" class="btn btn-success">Adicionar</button> <a href="index.php" type="btn" class="btn btn-default">Voltar</a> </div> </form> <div class="row"> <table align="center"> <th align="center">Últimas retiradas:</th> </table> <table class="table table-striped"> <thead> <tr> <th scope="col">Id</th> <th scope="col">Data(A-M-D H:M:S)</th> <th scope="col">Produto</th> <th scope="col">Quantidade</th> <th scope="col">Colaborador</th> <th scope="col"></th> </tr> </thead> <tbody> <?php $pdo = Banco::conectar(); $sql = 'SELECT * FROM retirada WHERE valida_op LIKE "valida" ORDER BY data DESC LIMIT 7'; date_default_timezone_set('America/Sao_Paulo'); foreach($pdo->query($sql)as $row) { echo '<tr>'; echo '<th scope="row">'. $row['id'] . '</th>'; echo '<td>'. $row['data'] . '</td>'; echo '<td>'. $row['produto'] . '</td>'; echo '<td align="center">'. $row['quantidade'] . '</td>'; echo '<td align="center">'. $row['colaborador'] . '</td>'; echo '<td width=250>'; /* echo '<a class="btn btn-primary" href="read.php?id='.$row['id'].'">Info</a>'; echo ' '; */ /* echo '<a align="center" class="btn btn-success" href="?id='.$row['id'].'">Finalizar</a>'; */ echo ' '; echo '&emsp;&emsp;<a align="right" class="btn btn-danger" href="deleteret.php?id='.$row['id'].'">CANCELAR</a>'; echo '</td>'; echo '</tr>'; } Banco::desconectar(); ?> </tbody> </table> </div> </div> </div> </div> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> <!-- Latest compiled and minified JavaScript --> <script src="assets/js/bootstrap.min.js"></script> </body> </html>
  2. Pessoal, boa tarde. Tenho um formulário bem simples de cadastro que já funciona muito bem para meu propósito. Eu queria agora, exibir abaixo do formulário duas tabelas com registros do banco e ao final de cada linha, um botão excluir registro, assim como mostra a figura anexada ao tópico. No momento, precisaria apenas disso para que meu "mini sistema" seja no mínimo funcional para o que preciso aqui no trabalho. Espero poder contar com dicas e ajuda dos feras aqui do fórum. Confesso que o único contato que tive com programação foi em meados de 2013 quando comecei um curso de php e mysql e infelizmente não consegui termina-lo, por isso espero contar também com a paciência e compreensão de vocês. O objetivo desse sisteminha é melhorar a logística de insumos do laboratório público(SUS) onde trabalho no diagnóstico de covid. Simplesmente comecei a escrever o código e adaptar modelos encontradas na internet com o pouco que me lembrava e no fim consegui fazer esse formulário. Segue o código: cadastro1.php <!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=utf-8" /> <title>CADASTRO</title> <style type="text/css"> <!-- .style1 { color: #FF0000; font-size: small; } .style3 {color: #0000FF; font-size: x-small; } --> </style> <script type="text/javascript"> /* BLOQUEIA ENTER leitor código de barras window.addEventListener('keydown', function(e) { if (e.keyIdentifier == 'U+000A' || e.keyIdentifier == 'Enter' || e.keyCode == 13) { if (e.target.nodeName == 'INPUT' && e.target.type == 'text') { e.preventDefault(); return false; } } }, true); */ //VALIDA CAMPO function validaCampo() { if(document.cadastro.produto.value=="") { alert("O Campo PRODUTO \u00e9 obrigat\u00f3rio!"); return false; } else if(document.cadastro.quantidade.value=="") { alert("O Campo QUANTIDADE \u00e9 obrigat\u00f3rio!"); return false; } else if(document.cadastro.colaborador.value=="") { alert("O Campo COLABORADOR \u00e9 obrigat\u00f3rio!"); return false; } else return true; } <!-- Fim do JavaScript que validará os campos obrigatórios! --> </script> </head> <body> <form id="cadastro" name="cadastro" method="post" action="processa.php" onsubmit="return validaCampo(); return false;"> <table width="625" border="0" align="center"> <h2 align="center">Dados da retirada:</h2> <tr> <td width="69">Produto:</td> <td width="546"><input name="produto" type="text" id="produto" size="60" maxlength="50" /> <span class="style1">*</span></td> </tr> <tr> <td>Quantidade:</td> <td><input name="quantidade" type="number" id="quantidade" size="38" maxlength="35" /> <span class="style1">*</span></td> </tr> <tr> <td>Colaborador:</td> <td><input name="colaborador" type="text" id="colaborador" size="60" maxlength="50" /> <span class="style1">*</span></td> </tr> <tr> <td><h3>Adicionais:</h3></td> <tr> <td>Observa&ccedil;oes:</td> <td><textarea name="obs" id="obs" cols="40" rows="3" ></textarea> </td> </tr> <tr> <td>Lote:</td> <td><input name="lote" type="text" id="lote" size="38" /> <span class="style1">APENAS PARA KITS DE PCR</span></td> </tr> <tr> <tr> <td colspan="2"><p> <input name="cadastrar" type="submit" id="cadastrar" value="Concluir retirada!" /> &ensp; <input name="limpar" type="reset" id="limpar" value="Limpar Campos preenchidos!" /> <br /> <span class="style1">Campos com * s&atilde;o obrigat&oacute;rios!</span></p> <p>&nbsp; </p></td> </tr> </table> </form> <!-- INICIO DA CONSULTA QUE CONSEGUI EXIBIR ABAIXO DO FORMULÁRIO! --> <?php //conectando com o localhost - mysql $conexao = mysql_connect("localhost","root","usbw"); if (!$conexao) die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); //conectando com a tabela do banco de dados $banco = mysql_select_db("covid",$conexao); if (!$banco) die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error()); mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); ?> <fieldset class="row2"> <legend><font color="black">Ultimas Sa&iacute;das</font></legend> <p> <?php $query = "SELECT created,produto,quantidade,colaborador from retirada ORDER BY created desc"; $result = mysql_query($query); while($fetch = mysql_fetch_row($result)){ echo "<p>". $fetch[0] . " | " . $fetch[1] . " | " . $fetch[2] . " | " . $fetch[3] . "</p>"; } ?> </p> </fieldset> </body> </html> processa.php <!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>Untitled Document</title> </head> <body> <?php // RECEBENDO OS DADOS PREENCHIDOS DO FORMULÁRIO ! $produto = $_POST ["produto"]; //atribuição do campo "produto" vindo do formulário para variavel $quantidade = $_POST ["quantidade"]; //atribuição do campo "quantidade" vindo do formulário para variavel $colaborador = $_POST ["colaborador"]; //atribuição do campo "colaborador" vindo do formulário para variavel $obs = $_POST ["obs"]; //atribuição do campo "obs" vindo do formulário para variavel $lote = $_POST ["lote"]; //atribuição do campo "lote" vindo do formulário para variavel //Gravando no banco de dados ! //conectando com o localhost - mysql $conexao = mysql_connect("localhost","root","usbw"); if (!$conexao) die ("Erro de conexão com localhost, o seguinte erro ocorreu -> ".mysql_error()); //conectando com a tabela do banco de dados $banco = mysql_select_db("covid",$conexao); if (!$banco) die ("Erro de conexão com banco de dados, o seguinte erro ocorreu -> ".mysql_error()); mysqli_set_charset($conexao,"utf8"); mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); $query = "INSERT INTO `retirada` (`created` , `produto` , `quantidade` , `colaborador` , `obs` , `lote` , `id` ) VALUES (NOW(),'$produto', '$quantidade', '$colaborador', '$obs', '$lote', '')"; mysql_query($query,$conexao); echo "<script> alert('Registrado com sucesso!'); location= './cadastro1.php'; </script>"; //echo "Seu cadastro foi realizado com sucesso!<br>Agradecemos a atenção." ; ?> </body> </html> sql: -- Dumping database structure for covid CREATE DATABASE IF NOT EXISTS `covid` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `covid`; -- Dumping structure for table covid.requisicao CREATE TABLE IF NOT EXISTS `requisicao` ( `id` int(11) NOT NULL AUTO_INCREMENT, `created` datetime NOT NULL, `produto` varchar(50) NOT NULL DEFAULT '0', `quantidade` varchar(50) NOT NULL DEFAULT '0', `setor` varchar(50) NOT NULL DEFAULT '0', `colaborador` varchar(50) NOT NULL DEFAULT '0', UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; -- Data exporting was unselected. -- Dumping structure for table covid.retirada CREATE TABLE IF NOT EXISTS `retirada` ( `created` datetime NOT NULL, `produto` varchar(60) NOT NULL, `quantidade` varchar(60) NOT NULL, `colaborador` varchar(60) NOT NULL, `obs` varchar(70) NOT NULL, `lote` varchar(20) NOT NULL, `id` int(200) NOT NULL AUTO_INCREMENT, UNIQUE KEY `id` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1; -- Data exporting was unselected. /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */; /*!40014 SET FOREIGN_KEY_CHECKS=IFNULL(@OLD_FOREIGN_KEY_CHECKS, 1) */; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; /*!40111 SET SQL_NOTES=IFNULL(@OLD_SQL_NOTES, 1) */;
×
×
  • Criar Novo...