Olá pessoal, preciso de ajuda o mais rápido possível.
Tenho um banco de dados conectado ao código PHP. Ele me apresenta uma tabela com os seus devidos campos. O meu objetivo é deixar, para o cliente, 3 desses campos abertos à modificação. Após modificados quero que, quando o cliente clique no botão ''Salvar alterações'', o banco de dados seja atualizado com essas informações novas.
Já tentei de MUITOS jeitos, estou a exatos 9 dias nesse dilema e o tempo de apresentação para minha chefe já foi expandido 2 vezes.
Não tenho muita experiência com PHP, na verdade esse é meu 1º projeto grande. Se souberem de algo que possa me ajudar eu agradeço imensamente. Att. Matheus Galindo Eis aqui os códigos em anexo: Arquivo em PHP 'atualizarDados.php':
<!DOCTYPE html>
<html>
<head>
<!--Título da página -->
<title>Consulta</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="personalizar.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
</head>
<body>
<nav class="navbar navbar-default" style="background-color: #065BD1;">
<div class="container-fluid">
<div class="navbar-header">
<a href="login.html"><img src="logoPref.png"></a>
</div>
<ul class="nav navbar-nav">
<li><a href="login.html">Home</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="login.html"><span class="glyphicon glyphicon-log-out"></span> Sair</a></li>
</ul>
</div>
</nav>
<?php
session_start();
#Declaração conexão
$conexao = mysqli_connect("localhost", "root", "", "ferias20182");
/*FUNÇÃO PARA VERIFICAR SE O BANCO DE DADOS FOI CONECTADO*/
function conexaoBD(){
if(mysqli_connect_error()){
echo "<br>Conexão não realizada. Erro".mysqli_connect_error();
}
//else{
// echo "Conexão funcionou perfeitamente";
//}
}
## COMANDO PARA NÃO APARECER WARNING DURANTE A EXECUÇÃO DO SCRIPT
// error_reporting(0);
// ini_set("display_erros", 0);
## Declarando variavéis
$nome_servidor = $_POST["selectNome"];
$_SESSION["nomeServ"] = $nome_servidor;
function consultarMatricula($nome_servidor = '', $conn=''){
/*Seleciona tabela escala_ferias e puxa os resultados de acordo com o código de
lotação inserido*/
$sql5 = "SELECT matricula_servidor FROM dados_servidor where `nome_servidor`= '$nome_servidor'";
$result5 = mysqli_query($conn, $sql5);
if (mysqli_num_rows($result5) > 0) {
while($row2=mysqli_fetch_array($result5)){
$matriculaServidor = $row2["matricula_servidor"];
$sql2 = "SELECT * FROM `escala_ferias` where `matricula_servidor` = '$matriculaServidor'";
$result2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($result2) > 0) {
//nomes dos campos da tabela
echo "<form>";
echo "<table border=2><tr><th>Matricula</th><th>Mes gozo</th><th>Ano gozo</th><th>Confirmação</th><th>Observação</th><th></th></tr>";
while ($row2= mysqli_fetch_array($result2)) {
//Atribuição à variáveis para controle de férias por critério
$valorMatricula= $row2["matricula_servidor"];
$valorCriterio = $row2["criterio"];
$valorMesGozo = $row2["mes_Gozo"];
$valorAnoGozo = $row2["ano_Gozo"];
$observacao = $row2["observacao"];
$button = "<button class='btn btn-info' value = '1' name='registrarAlter'>Salvar alterações</button>";
//Caso o critério seja 1 - férias somente em janeiro
if ($valorCriterio == 1) {
$valorMes =1 ;
//caso o critério seja 2 - férias entre abril e novembro
}else if ($valorCriterio == 2){
$min = 4;
$max = 11;
$valorAnoGozo = date("Y")+1;
$valorMes = "<input name='mes_Gozo' type='number' min='$min' max='$max'>";
}
//caso o critério seja 3 - férias somente no mês seguinte ao mês de admissão do ano seguinte ao ano de admissão
else if ($valorCriterio == 3){
//$mesSeguinte = $valorMesGozo + 1;
$valorMes = "<input name='mes_Gozo' type='number' min='1' max='12'>";
$valorAnoGozo = date("Y")+ 1;
}
//mostra a tabela na tela alimentada com as informações
echo "<tr><td>".$valorMatricula."</td><td>$valorMes"."</td><td>".$valorAnoGozo."</td><td><input type=checkbox name='inputConfirmacao' value = '1'>"."</td><td><input type='text' name = 'inputObservacao' placeholder='Campo para observação'>"."</td><td>".$button."</tr>";
}
//fecha a tabela
echo "</table>";
echo "<br>";
echo "</form>";
}
}
}
}
##DECLARAÇÃO
conexaoBD();
consultarMatricula($nome_servidor, $conexao);
?>
</body>
</html>
Arquivo em PHP 'dadosLogin.php':
<!DOCTYPE html>
<html>
<head>
<!--Título da página -->
<title>Consulta</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="personalizar.css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
</head>
<body>
<nav class="navbar navbar-default" style="background-color: #065BD1;">
<div class="container-fluid">
<div class="navbar-header">
<a href="login.html"><img src="logoPref.png"></a>
</div>
<ul class="nav navbar-nav">
<li><a href="login.html">Home</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="login.html"><span class="glyphicon glyphicon-log-out"></span>Sair</a></li>
</ul>
</div>
</nav>
<?php
## COMANDO PARA NÃO APARECER WARNING DURANTE A EXECUÇÃO DO SCRIPT
error_reporting(0);
ini_set("display_erros", 0);
// ----------------------------
#Declaração de variáveis
$cpf = $_POST["inputCPF"];
$codLocal = $_POST["cod_lotacao"];
// -----------------------
#Declaração conexão
$conexao = mysqli_connect("localhost", "root", "", "ferias20182");
/*FUNÇÃO PARA VERIFICAR SE O BANCO DE DADOS FOI CONECTADO*/
function conexaoBD(){
if(mysqli_errno()){
echo "<br>Conexão não realizada. Erro".mysqli_connect_error();
}else{
// echo "Conexão rodou";
}
}
# Testando consulta cpf
/* Função para consultar CPF dentro do banco de dados */
function consultaCPF($cpf = '', $conn=''){
//SELECIONANDO O RESPONSÁVEL DA LOCAÇÃO
$sql3 = "SELECT `cod_local` FROM responsavel_lotacao where cpf= $cpf";
$result2 = mysqli_query($conn, $sql3);
if (mysqli_num_rows($result2) > 0) {
while ($row2 = mysqli_fetch_array($result2)) {
echo "<br>Código lotação:".$row2["cod_local"];
}
}
}
?>
<form method="post">
<label for="cod_lotacao">Digite o código da sua lotação</label>
<input name="cod_lotacao" type=text></input>
<button type="submit">Consultar</button>
</form>
<?php
//função que lista as informações da lotação em questão
function listarServidor($cod_Lotacao = '', $conn=''){
/*Seleciona tabela escala_ferias e puxa os resultados de acordo com o código de
lotação inserido*/
$sql2 = "SELECT matricula_servidor,nome_servidor FROM `dados_servidor` where cod_lotacao = $cod_Lotacao";
$result2 = mysqli_query($conn, $sql2);
if (mysqli_num_rows($result2) > 0) {
//nomes dos campos da tabela
echo "<form method='post' action='atualizarDados.php'>";
echo "<select name = 'selectNome'>";
while ($row2= mysqli_fetch_array($result2)) {
$nome_servidor = $row2['nome_servidor'];
echo "<option value'".$nome_servidor."'>".$nome_servidor."</option>";
//fecha a tabela
echo "<br>";
}
echo "</select>";
echo "<button type= 'submit' class = 'btn btn-warning'>Consultar</button>";
}
$sql3 = "SELECT `matricula_servidor`, `mes_Gozo`, `ano_Gozo`, `confirmacao`, `observacao` FROM `escala_ferias` ";
}
#Declaração e chamada de funções
conexaoBD();
consultaCPF($cpf,$conexao);
listarServidor($codLocal, $conexao);
?>
</body>
</html>