Queria pedir a ajuda de vocês para tentar arrumar um problema no meu sistema.
Tentei procurar sobre isso na internet mas não sei bem como procurar isto, e nem sei muito bem como explicar, então para facilitar coloquei uma imagem aqui em anexo exemplificando.
Vamos lá.
Em linhas gerais o sistema cadastra, edita e deleta documentos. Na parte de edição de documentos, altero os dados desejados e clico no botão "Editar", ao salvar esta edição os campos desta página não ficam no estado atual (atualizado), eles voltam ao estado anterior, ou seja, permanecem como estavam antes, mas se eu verificar o banco de dados e a lista de documentos consigo ver que foi atualizado corretamente.
Então seguindo a imagem anexada:
(img1) página de edição sem alteração > (img2) altero um campo "Interessado" e clico no botão editar, a página dá refresh, e todos os campos voltam a aparecerem como estavam anteriormente antes da alteração feita (img3) > quando verifico a lista de documentos, vejo que a alteração foi realizada com sucesso, inclusive no banco de dados.
A ajuda que eu gostaria é?
Como faço para que os campos sejam atualizados em tempo real assim que clicar no botão "Editar" ou que a alteração que fiz não volte para o estado anterior.
Agora vamos a parte do código:
editar_doc.php
<?php
//cabeçalho
include_once "cabeçalho.php";//conexão com o banco de dados
include_once "conexao.php";//buscando dados do banco para lotação
include_once "campos_selects.php";?><!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><title>Editar Documento</title><scripttype="text/javascript"src="js/descarte.js"></script><scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script></head><body><divclass="list-group-item principal"><!-- TÍTULO --><divclass="d-flex mx-2 my-2"><divclass="mr-auto p-2"><h2class="display-4 titulo">Editar Documento</h2></div></div><!-- FORMULÁRIO (CADASTRAR DADOS) --><formaction=""method="post"><!--------------- P H P ----------------><?php
//pegando informações do GET na lista de documentos
$codigo_doc = filter_input(INPUT_GET,'numero_doc_get', FILTER_SANITIZE_STRING);
$tipo_doc = intval(filter_input(INPUT_GET,'tipo_doc_get', FILTER_SANITIZE_NUMBER_INT));
$titulo_doc = filter_input(INPUT_GET,'titulo_get', FILTER_SANITIZE_STRING);
$interessado_doc = filter_input(INPUT_GET,'interessado_get', FILTER_SANITIZE_STRING);
$obs_doc = filter_input(INPUT_GET,'obs_get', FILTER_SANITIZE_STRING);
$descarte = intval(filter_input(INPUT_GET,'periodicidade_get', FILTER_SANITIZE_NUMBER_INT));?><!------------------ nº de identificação --------------------------------><divclass="form-row"><!-- nº de identificação --><divclass="form-group col-md-6"><label><spanclass="text-danger"></span> Número de Identificação</label>
<input name="codigo" type="text" class="form-control" id="codigo" value="<?php echo $codigo_doc;?>">
</div><!------------------- tipo de doc ----------------------------------------><divclass="form-row"><!-- tipo de documento --><divclass="form-group col-md-3"><label>Tipo de Documento</label><selectname="tipo"id="tipo"class="form-control"><!--------------- P H P ----------------><?php
//selecionando do banco as opções do dropdownwhile($row3 = $result3->fetch_assoc()){if($tipo_doc==$row3['id_tipo']){
echo "<option selected value=".$row3['id_tipo'].">".$row3['nome_tipo']."</option>";}else{
echo "<option value=".$row3['id_tipo'].">".$row3['nome_tipo']."</option>";}}?></select></div><!-- Adicionando e excluindo tipo de documento --><divclass="form-group col-md-1"><label> </label></br><spantabindex="0"data-placement="top"data-toggle="tooltip"title="Adicionar e Excluir Tipo de Documento">
<ahref="manipular_tipo_doc.php"><spanstyle="font-size:24px;"><iclass="icon ion-md-settings"></i></span></a></span></div><!------------------- interessado -----------------------------------------><divclass="form-row"><divclass="form-group col-md-12"><label>Interessado</label>
<input name="interessado" type="text" class="form-control" id="interessado" value="<?php echo $interessado_doc;?>">
</div></div><!------------------- titulo ----------------------------------------------><divclass="form-row"><divclass="form-group col-md-12"><label>Título</label>
<input name="titulo" type="text" class="form-control" id="titulo" value="<?php echo $titulo_doc;?>">
</div></div><!------------------- Observações -----------------------------------------><divclass="form-row"><divclass="form-group col-md-12"><label>Observações</label>
<textarea class="form-control" name="obs" rows="5" id="obs" value="<?php echo $obs_doc;?>"></textarea></div></div><!------------------ periodicidade ----------------------------------------><divclass="form-row"><divclass="form-group col-md-12"><spanclass="form-text">Periodicidade para descarte deste documento:</span></div></div><divclass="form-row"><!-- Periodicidade --><divclass="form-group col-md-2">
<input name="descarte" type="text" class="form-control" id="descarte" value="<?php echo $descarte;?>" readonly="readonly">
</div><divclass="form-group col-md-4"><inputtype="text"readonlyclass="form-control-plaintext"value="Anos"></div></div><!----------------------- botão cadastrar e limpar ------------------------>
<divclass="form-row"><divclass="form-group col-md-4"><buttontype="submit"name="editar_doc"class="btn btn-primary">Editar</button><buttontype="reset"name="limpar_doc"class="btn btn-primary">Limpar campos</button></div></div></form><!--------------- P H P ----------------><?php
//processamento dos dados do formulario
include_once 'processa_editar_doc.php';?></div></body></html><!--------------- P H P ----------------><?php
//rodapé
include_once "rodape.php";?>
processa_editar_doc.php
<?php
//pegando os dados via POST
$codigo_doc_edit = filter_input(INPUT_POST,'codigo', FILTER_SANITIZE_STRING);
$tipo_doc_edit = intval(filter_input(INPUT_POST,'tipo', FILTER_SANITIZE_NUMBER_INT));
$titulo_doc_edit = filter_input(INPUT_POST,'titulo', FILTER_SANITIZE_STRING);
$interessado_doc_edit = filter_input(INPUT_POST,'interessado', FILTER_SANITIZE_STRING);
$obs_doc_edit = filter_input(INPUT_POST,'obs', FILTER_SANITIZE_STRING);
$periodo_doc_edit = intval(filter_input(INPUT_POST,'descarte', FILTER_SANITIZE_NUMBER_INT));//pegando os dados via GET
$id_doc_edit = intval(filter_input(INPUT_GET,'id_doc_get', FILTER_SANITIZE_NUMBER_INT));//salvando no banco de dados quando clicar em editarif(isset($_POST['editar_doc'])){if($codigo_doc_edit !=''|| $tipo_doc_edit !=''|| $titulo_doc_edit !=''|| $interessado_doc_edit !=''){
$sql ="UPDATE documento SET numero_doc='$codigo_doc_edit', tipo_doc=$tipo_doc_edit, titulo='$titulo_doc_edit', interessado='$interessado_doc_edit', obs='$obs_doc_edit', periodicidade=$periodo_doc_edit WHERE id_doc=$id_doc_edit";
$result = mysqli_query($conn, $sql);if($conn->query($sql)=== TRUE){
echo "<div class='alert alert-success' role='alert'>";
echo "Documento editado com sucesso!";
echo "<button type='button' class='close' data-dismiss='alert' aria-label='Close'>";
echo "<span aria-hidden='true'>×</span>";
echo "</button>";
echo "</div>";}else{
echo "<div class='alert alert-danger' role='alert'>";
echo "Documento não foi editado!";
echo "<button type='button' class='close' data-dismiss='alert' aria-label='Close'>";
echo "<span aria-hidden='true'>×</span>";
echo "</button>";
echo "</div>";
$erro = mysqli_error($conn);
echo "Ocorreu o seguinte erro: ",'"', $erro,'"<br>';}}}//encerrar conexão com o banco
$conn->close();?>
Banco de dados:
-- phpMyAdmin SQL Dump-- version 5.2.0-- https://www.phpmyadmin.net/----Host:127.0.0.1--Tempo de geração:02-Dez-2022às 15:17--Versão do servidor:10.4.24-MariaDB-- versão do PHP:7.4.29
SET SQL_MODE ="NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
SET time_zone ="+00:00";/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;/*!40101 SET NAMES utf8mb4 */;----Banco de dados:`sisarq`----------------------------------------------------------------Estrutura da tabela `documento`--
CREATE TABLE `documento`(`ID_DOC`int(11) NOT NULL,`NUMERO_DOC` varchar(20) NOT NULL,`TIPO_DOC`int(11) NOT NULL,`TITULO` varchar(400) NOT NULL,`INTERESSADO` varchar(255) NOT NULL,`OBS` varchar(400) DEFAULT NULL,`PERIODICIDADE`int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;----Extraindo dados da tabela `documento`--
INSERT INTO `documento`(`ID_DOC`,`NUMERO_DOC`,`TIPO_DOC`,`TITULO`,`INTERESSADO`,`OBS`,`PERIODICIDADE`) VALUES
(13,'299814/2022-10',26,'Folha de Ponto','Beatriz Bernardes','',6),(14,'152156/2021-12',4,'Compra de Material','Fernando Carvalho','',5),(15,'056932/2018-20',8,'Declaração','Kátia de Souza','ingresso em 2019.',5),(16,'084165/2020-33',9,'Ata Extraordinária','Unidade','',2),(17,'098632/2019-22',1,'Processo','Bruna Caxias','',5),(18,'166320/2021-15',6,'Ata VCE','Edivaldo Rogério da Silva','',2),(19,'299664/2022-38',8,'Declaração','Caio de Almeida','',5),(18,'289946/2022-08',1,'Processo','Ana Maria Costa Vitorino','',5),(19,'352214/2022-13',8,'Declaração','Noeli da Silva Araujo','referente a compra do mês 03/22.',5),(20,'201533/2022-32',17,'Carta de Comparecimento','Renato Vasconcelos Farias Araújo','','',3);----Índices para tabelas despejadas
------Índices para tabela `documento`--
ALTER TABLE `documento`
ADD PRIMARY KEY (`ID_DOC`),
ADD KEY `TIPO_DOC`(`TIPO_DOC`);---- AUTO_INCREMENT de tabelas despejadas
------ AUTO_INCREMENT de tabela `documento`--
ALTER TABLE `documento`
MODIFY `ID_DOC`int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=20;----Restrições para despejos de tabelas
------Limitadores para a tabela `documento`--
ALTER TABLE `documento`
ADD CONSTRAINT `documento_ibfk_1` FOREIGN KEY (`TIPO_DOC`) REFERENCES `tipo_arquivo`(`id_tipo`);
COMMIT;/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Pergunta
Flaviaac
Bom dia Galera,
Queria pedir a ajuda de vocês para tentar arrumar um problema no meu sistema.
Tentei procurar sobre isso na internet mas não sei bem como procurar isto, e nem sei muito bem como explicar, então para facilitar coloquei uma imagem aqui em anexo exemplificando.
Vamos lá.
Em linhas gerais o sistema cadastra, edita e deleta documentos. Na parte de edição de documentos, altero os dados desejados e clico no botão "Editar", ao salvar esta edição os campos desta página não ficam no estado atual (atualizado), eles voltam ao estado anterior, ou seja, permanecem como estavam antes, mas se eu verificar o banco de dados e a lista de documentos consigo ver que foi atualizado corretamente.
Então seguindo a imagem anexada:
(img1) página de edição sem alteração > (img2) altero um campo "Interessado" e clico no botão editar, a página dá refresh, e todos os campos voltam a aparecerem como estavam anteriormente antes da alteração feita (img3) > quando verifico a lista de documentos, vejo que a alteração foi realizada com sucesso, inclusive no banco de dados.
A ajuda que eu gostaria é?
Como faço para que os campos sejam atualizados em tempo real assim que clicar no botão "Editar" ou que a alteração que fiz não volte para o estado anterior.
Agora vamos a parte do código:
editar_doc.php
processa_editar_doc.php
Banco de dados:
Link para o comentário
Compartilhar em outros sites
7 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.