Recuperar item tabela do banco e colocar no input php
28/06/2020
0
Boa noite.
Tenho uma modal na minha página balconista.php que serve para cadastrar balconistas.
Segue o código:
<!-- Modal -->
<div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<?php if(@$_GET['funcao']=='editar'){
$titulo_modal = 'Editar Dados';
$botao = 'Editar';
//RECUPERAR OS DADOS COM BASE NO ID QUE RECEBO
$id = @$_GET['id'];
$res = $pdo->query("SELECT * from usuarios where id = '$id'");
$dados = $res->fetchAll(PDO::FETCH_ASSOC);
$nome = $dados[0]['nome'];
$cpf = $dados[0]['cpf'];
$telefone = $dados[0]['telefone'];
$usuario = $dados[0]['usuario'];
$senha = $dados[0]['senha'];
$nivel = $dados[0]['nivel'];
$unidade = $dados[0]['unidade'];
$form = 'form-editar';
}else{
$titulo_modal = 'Inserir Novo';
$botao = 'Salvar';
$form = 'form-inserir';
} ?>
<h5 class="modal-title" id="exampleModalLabel"><?php echo $titulo_modal ?>
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form id="<?php echo $form ?>" method="post">
<div class="form-group">
<label for="exampleFormControlInput1">Nome</label>
<input type="text" class="form-control" id="nome" placeholder="Insira o Nome " name="nome" value="<?php echo @$nome ?>" required>
</div>
<div class="form-group">
<label for="exampleFormControlInput1">CPF</label>
<input type="text" class="form-control" id="cpf" placeholder="Insira o CPF " name="cpf" value="<?php echo @$cpf ?>" required>
</div>
<div class="form-group">
<label for="exampleFormControlInput1">Telefone</label>
<input type="text" class="form-control" id="telefone" placeholder="Insira o Telefone " name="telefone" value="<?php echo @$telefone ?>" required>
</div>
<div class="form-group">
<label for="exampleFormControlInput1">Email</label>
<input type="email" class="form-control" id="usuario" placeholder="Insira o Email " name="usuario" value="<?php echo @$usuario ?>" required>
</div>
<div class="form-group">
<div class="form-group">
<label class="text-dark" for="exampleInputEmail1">Unidade</label>
<input type="text" class="form-control" id="unidade" name="unidade" value="<?php echo @$unidade ?>">
</div>
<div align="center" id="mensagem" class="">
</div>
</div>
<div class="modal-footer">
<input type="hidden" id="id" name="id" value="<?php echo @$id ?>">
<input type="hidden" id="reg_antigo" name="reg_antigo" value="<?php echo @$cpf ?>"
required>
<button id="btn-fechar" type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
<button type="submit" name="<?php echo $botao ?>" id="<?php echo $botao ?>" class="btn btn-primary"><?php echo $botao ?></button>
</div>
</form>
</div>
</div>
</div>
Ela faz a inserção dos dados no BD pela página inserir.php:
<?php
require_once("../../conexao.php");
@session_start();
$nome = $_POST['nome'];
$cpf = $_POST['cpf'];
$telefone = $_POST['telefone'];
$usuario = $_POST['usuario'];
$cpf_sem_traco = preg_replace('/[^0-9]/', '', $cpf);
$unidade = $_POST['unidade'];
if($nome == ''){
echo "Preencha o Nome!";
exit();
}
//verificar duplicaidade de dados
$res = $pdo->query("SELECT * from usuarios where cpf = '$cpf'");
$dados = $res->fetchAll(PDO::FETCH_ASSOC);
$linhas = count($dados);
if($linhas > 0){
echo 'CPF já Cadastrado';
exit();
}
//verificar duplicaidade de dados
$res = $pdo->query("SELECT * from usuarios where usuario = '$usuario'");
$dados = $res->fetchAll(PDO::FETCH_ASSOC);
$linhas = count($dados);
if($linhas > 0){
echo 'Email já Cadastrado';
exit();
}
$res = $pdo->prepare("INSERT into usuarios (nome, cpf, telefone, usuario, senha, nivel, unidade) values (:nome, :cpf, :telefone, :usuario, :senha, :nivel, :unidade)");
$res->bindValue(":nome", $nome);
$res->bindValue(":cpf", $cpf);
$res->bindValue(":telefone", $telefone);
$res->bindValue(":usuario", $usuario);
$res->bindValue(":senha", $cpf_sem_traco);
$res->bindValue(":nivel", 'Balconista');
$res->bindValue(":unidade", $unidade);
$res->execute();
echo "Cadastrado com Sucesso!!";
?>
A minha dúvida é: Quando eu clico no botão "Novo Balconista", ele abre a modal bonitinha e eu consigo fazer todo o cadastro sem problema nenhum. Apenas o usuário Administrador pode fazer o cadastro do balconista e ele tem uma propriedade de "unidade" no banco de dados, que é filial onde ele trabalha. Eu gostaria que ao abrir a modal, o campo "Unidade" pegasse a unidade do usuário logado e inserisse no input e ao clicar em salvar, ele inserisse essa informação no campo unidade no banco de dados.
Tenho uma modal na minha página balconista.php que serve para cadastrar balconistas.
Segue o código:
<!-- Modal -->
<div class="modal fade" id="modal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<?php if(@$_GET['funcao']=='editar'){
$titulo_modal = 'Editar Dados';
$botao = 'Editar';
//RECUPERAR OS DADOS COM BASE NO ID QUE RECEBO
$id = @$_GET['id'];
$res = $pdo->query("SELECT * from usuarios where id = '$id'");
$dados = $res->fetchAll(PDO::FETCH_ASSOC);
$nome = $dados[0]['nome'];
$cpf = $dados[0]['cpf'];
$telefone = $dados[0]['telefone'];
$usuario = $dados[0]['usuario'];
$senha = $dados[0]['senha'];
$nivel = $dados[0]['nivel'];
$unidade = $dados[0]['unidade'];
$form = 'form-editar';
}else{
$titulo_modal = 'Inserir Novo';
$botao = 'Salvar';
$form = 'form-inserir';
} ?>
<h5 class="modal-title" id="exampleModalLabel"><?php echo $titulo_modal ?>
</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<form id="<?php echo $form ?>" method="post">
<div class="form-group">
<label for="exampleFormControlInput1">Nome</label>
<input type="text" class="form-control" id="nome" placeholder="Insira o Nome " name="nome" value="<?php echo @$nome ?>" required>
</div>
<div class="form-group">
<label for="exampleFormControlInput1">CPF</label>
<input type="text" class="form-control" id="cpf" placeholder="Insira o CPF " name="cpf" value="<?php echo @$cpf ?>" required>
</div>
<div class="form-group">
<label for="exampleFormControlInput1">Telefone</label>
<input type="text" class="form-control" id="telefone" placeholder="Insira o Telefone " name="telefone" value="<?php echo @$telefone ?>" required>
</div>
<div class="form-group">
<label for="exampleFormControlInput1">Email</label>
<input type="email" class="form-control" id="usuario" placeholder="Insira o Email " name="usuario" value="<?php echo @$usuario ?>" required>
</div>
<div class="form-group">
<div class="form-group">
<label class="text-dark" for="exampleInputEmail1">Unidade</label>
<input type="text" class="form-control" id="unidade" name="unidade" value="<?php echo @$unidade ?>">
</div>
<div align="center" id="mensagem" class="">
</div>
</div>
<div class="modal-footer">
<input type="hidden" id="id" name="id" value="<?php echo @$id ?>">
<input type="hidden" id="reg_antigo" name="reg_antigo" value="<?php echo @$cpf ?>"
required>
<button id="btn-fechar" type="button" class="btn btn-secondary" data-dismiss="modal">Cancelar</button>
<button type="submit" name="<?php echo $botao ?>" id="<?php echo $botao ?>" class="btn btn-primary"><?php echo $botao ?></button>
</div>
</form>
</div>
</div>
</div>
Ela faz a inserção dos dados no BD pela página inserir.php:
<?php
require_once("../../conexao.php");
@session_start();
$nome = $_POST['nome'];
$cpf = $_POST['cpf'];
$telefone = $_POST['telefone'];
$usuario = $_POST['usuario'];
$cpf_sem_traco = preg_replace('/[^0-9]/', '', $cpf);
$unidade = $_POST['unidade'];
if($nome == ''){
echo "Preencha o Nome!";
exit();
}
//verificar duplicaidade de dados
$res = $pdo->query("SELECT * from usuarios where cpf = '$cpf'");
$dados = $res->fetchAll(PDO::FETCH_ASSOC);
$linhas = count($dados);
if($linhas > 0){
echo 'CPF já Cadastrado';
exit();
}
//verificar duplicaidade de dados
$res = $pdo->query("SELECT * from usuarios where usuario = '$usuario'");
$dados = $res->fetchAll(PDO::FETCH_ASSOC);
$linhas = count($dados);
if($linhas > 0){
echo 'Email já Cadastrado';
exit();
}
$res = $pdo->prepare("INSERT into usuarios (nome, cpf, telefone, usuario, senha, nivel, unidade) values (:nome, :cpf, :telefone, :usuario, :senha, :nivel, :unidade)");
$res->bindValue(":nome", $nome);
$res->bindValue(":cpf", $cpf);
$res->bindValue(":telefone", $telefone);
$res->bindValue(":usuario", $usuario);
$res->bindValue(":senha", $cpf_sem_traco);
$res->bindValue(":nivel", 'Balconista');
$res->bindValue(":unidade", $unidade);
$res->execute();
echo "Cadastrado com Sucesso!!";
?>
A minha dúvida é: Quando eu clico no botão "Novo Balconista", ele abre a modal bonitinha e eu consigo fazer todo o cadastro sem problema nenhum. Apenas o usuário Administrador pode fazer o cadastro do balconista e ele tem uma propriedade de "unidade" no banco de dados, que é filial onde ele trabalha. Eu gostaria que ao abrir a modal, o campo "Unidade" pegasse a unidade do usuário logado e inserisse no input e ao clicar em salvar, ele inserisse essa informação no campo unidade no banco de dados.
Matheus Silva
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)