Sou iniciante em Desenvolvimento Web e não estou conseguindo resolver um problema no meu código, se alguém puder me ajudar agradeço imensamente.
Vamos lá!
Na tela de cadastro eu tenho um campo tipo select, onde escolho o tipo de documento, e no campo de baixo eu tenho um tipo text que mostrará a quantidade de anos para descarte deste documento. Então quando o usuário selecionar um dos documentos no campo de cima automaticamente deve aparecer o valor do tempo de descarte no campo de baixo, e ai sim o usuário poderá cadastrar o documento em si.
Obs.: estou ignorando o restante dos campos de cadastro pois não são relevantes para este problema.
Este evento está funcionando perfeitamente, o problema é que quando clico no botão "cadastrar" o campo de "periodicidade de descarte" não está salvando no bando de dados com o valor exibido, mas sim como zero.
No arquivo processa_cadastro.php quando dou um var_dump em $periodo_doc ele imprime: int(0)
Não consegui identificar onde estou errando.
Por favor, poderiam me dar uma luz.
Obrigada!
Segue os códigos para entendimento.
tipo_arquivo.sql:
-- phpMyAdmin SQL Dump-- version 5.2.0-- https://www.phpmyadmin.net/----Host: localhost
--Tempo de geração:12-Jul-2022às 14:46--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:`sistemadescarte`----------------------------------------------------------------Estrutura da tabela `tipo_arquivo`--
CREATE TABLE `tipo_arquivo`(`id_tipo`int(11) NOT NULL,`nome_tipo` varchar(255) NOT NULL,`descarte`int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;----Extraindo dados da tabela `tipo_arquivo`--
INSERT INTO `tipo_arquivo`(`id_tipo`,`nome_tipo`,`descarte`) VALUES
(1,'Ata Extraordinária',5),(2,'Ata Ordinária',5),(3,'carta',8),(4,'Memorando',10),(5,'Memorando Circular',8),(6,'Ofício',5),(7,'Ofício Circular',5),(8,'Processo',10);----Índices para tabelas despejadas
------Índices para tabela `tipo_arquivo`--
ALTER TABLE `tipo_arquivo`
ADD PRIMARY KEY (`id_tipo`),
ADD KEY `id_tipo`(`id_tipo`);---- AUTO_INCREMENT de tabelas despejadas
------ AUTO_INCREMENT de tabela `tipo_arquivo`--
ALTER TABLE `tipo_arquivo`
MODIFY `id_tipo`int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=21;
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 */;
documento.sql:
-- phpMyAdmin SQL Dump-- version 5.2.0-- https://www.phpmyadmin.net/----Host: localhost
--Tempo de geração:12-Jul-2022às 14:47--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:`sistemadescarte`----------------------------------------------------------------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,`INTERESSADO` varchar(255) NOT NULL,`TITULO` varchar(400) 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`,`INTERESSADO`,`TITULO`,`OBS`,`PERIODICIDADE`) VALUES
(2,'788741-2019/65',1,'admin','Ata extraordinária de 2018',0),(3,'888888-2021/21',3,'gerencia','Carta a gerencia',0),(4,'333653-2022/1',8,'teste','Processo','teste na observação',0),(6,'224568-2022/3',2,'teste','Ata Ordinária',0);----Í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=2295;----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 */;
cadastro.php:
<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><scripttype="text/javascript"src="js/descarte.js"></script><scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script><title>Cadastro de Documento</title></head><formaction=""method="post"><divclass="form-row"><!-- tipo de documento --><divclass="form-group col-md-1"><label>Tipo de Documento</label><selectname="tipo"id="tipo"class="form-control"onchange="funcaoDescarte()"><optionselected>Selecione...</option><!--------------- P H P ----------------><?php
while($row = $result->fetch_assoc()){
echo "<option value=".$row['id_tipo'].">".$row['nome_tipo']."</option>";}?><!--------------- F I M P H P ---------></select></div></div><divclass="form-row"><!-- tempo para descarte --><divclass="form-group col-md-2"><spanclass="form-text">Periodicidade para descarte deste documento:</span><inputname="descarte"type="text"class="form-control"id="descarte"value=""disabled=""><inputtype="text"readonlyclass="form-control-plaintext"value="Anos"></div></div><!------------------- botão cadastrar e limpar ---------------------------------------------->
</br><divclass="form-row"><!-- Cadastrar e Limpar --><divclass="form-group col-md-4"><buttontype="submit"name="cadastrar_doc"class="btn btn-primary">Cadastrar</button><buttontype="reset"name="limpar_doc"class="btn btn-primary">Limpar campos</button></div></div>
</form
descarte.js:
function funcaoDescarte(){var x = document.getElementById("tipo").value;
y = $.ajax({
url:"periodicidade.php",
method:"POST",
data:{ id : x },
success:function(data){
$("#descarte").val(data);}})}
Pergunta
Flaviaac
Boa tarde pessoal,
Sou iniciante em Desenvolvimento Web e não estou conseguindo resolver um problema no meu código, se alguém puder me ajudar agradeço imensamente.
Vamos lá!
Na tela de cadastro eu tenho um campo tipo select, onde escolho o tipo de documento, e no campo de baixo eu tenho um tipo text que mostrará a quantidade de anos para descarte deste documento. Então quando o usuário selecionar um dos documentos no campo de cima automaticamente deve aparecer o valor do tempo de descarte no campo de baixo, e ai sim o usuário poderá cadastrar o documento em si.
Obs.: estou ignorando o restante dos campos de cadastro pois não são relevantes para este problema.
Este evento está funcionando perfeitamente, o problema é que quando clico no botão "cadastrar" o campo de "periodicidade de descarte" não está salvando no bando de dados com o valor exibido, mas sim como zero.
No arquivo processa_cadastro.php quando dou um var_dump em $periodo_doc ele imprime: int(0)
Não consegui identificar onde estou errando.
Por favor, poderiam me dar uma luz.
Obrigada!
Segue os códigos para entendimento.
tipo_arquivo.sql:
documento.sql:
cadastro.php:
descarte.js:
periodicidade.php:
processa_cadastro.php:
Link para o comentário
Compartilhar em outros sites
1 resposta 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.