sistema/painel/paginas/proteses/salvar.php
Endpoint AJAX que insere ou atualiza um registro da tabela proteses.
Endpoint AJAX que insere ou atualiza um registro da tabela proteses.
Dependências observadas:
Conexão PDO / configurações globaisBanco de dados
Endpoint AJAX de persistência
Próteses
74
| Linha | Código | Explicação técnica |
|---|---|---|
| 1 | <?php | Abre um bloco PHP. A partir daqui o arquivo passa a executar lógica no servidor. |
| 2 | require_once("../../../conexao.php"); | Importa `../../../conexao.php` para disponibilizar conexão, sessão, funções utilitárias ou validações necessárias ao restante do fluxo. |
| 3 | $tabela = 'proteses'; | Centraliza o nome da tabela `proteses` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 4 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 5 | $id = isset($_POST['id']) ? trim($_POST['id']) : ''; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 6 | $cliente = isset($_POST['cliente']) ? trim($_POST['cliente']) : ''; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 7 | $modelo = isset($_POST['modelo']) ? trim($_POST['modelo']) : ''; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 8 | $cor = isset($_POST['cor']) ? trim($_POST['cor']) : ''; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 9 | $densidade = isset($_POST['densidade']) ? trim($_POST['densidade']) : ''; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 10 | $tamanho = isset($_POST['tamanho']) ? trim($_POST['tamanho']) : ''; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 11 | $fornecedor = isset($_POST['fornecedor']) ? trim($_POST['fornecedor']) : ''; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 12 | $observacoes = isset($_POST['observacoes']) ? trim($_POST['observacoes']) : ''; | Lê dados de entrada vindos da requisição, sessão ou upload e normaliza o valor para uso no restante da rotina. |
| 13 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 14 | if ($cliente == '') { | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 15 | echo 'Selecione um Cliente'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 16 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 17 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 18 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 19 | if ($modelo == '') { | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 20 | echo 'Informe o Modelo'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 21 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 22 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 23 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 24 | if ($fornecedor == '') { | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 25 | echo 'Selecione um Fornecedor'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 26 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 27 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 28 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 29 | // validar registro duplicado | Comentário do código. Serve para contextualizar o bloco seguinte para quem fizer manutenção. |
| 30 | $query = $pdo->prepare("SELECT * FROM $tabela WHERE cliente = :cliente AND modelo = :modelo"); | Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 31 | $query->bindValue(':cliente', $cliente); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 32 | $query->bindValue(':modelo', $modelo); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 33 | $query->execute(); | Executa a query preparada no banco de dados. |
| 34 | $res = $query->fetchAll(PDO::FETCH_ASSOC); | Lê o resultado retornado pelo banco e o converte para uma estrutura PHP que o restante do arquivo consegue consumir. |
| 35 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 36 | if (count($res) > 0 && $id != $res[0]['id']) { | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 37 | echo 'Registro já Cadastrado, escolha outro!!'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 38 | exit(); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 39 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 40 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 41 | if ($id == '') { | Abre uma condição para validar pré-requisitos ou desviar o fluxo conforme os dados recebidos. |
| 42 | $query = $pdo->prepare("INSERT INTO $tabela SET | Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 43 | cliente = :cliente, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 44 | modelo = :modelo, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 45 | cor = :cor, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 46 | densidade = :densidade, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 47 | tamanho = :tamanho, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 48 | fornecedor = :fornecedor, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 49 | observacoes = :observacoes, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 50 | data_cad = curDate()"); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 51 | } else { | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 52 | $query = $pdo->prepare("UPDATE $tabela SET | Centraliza o nome da tabela `tabela` em uma variável, facilitando reaproveitamento do valor nas queries do arquivo. |
| 53 | cliente = :cliente, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 54 | modelo = :modelo, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 55 | cor = :cor, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 56 | densidade = :densidade, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 57 | tamanho = :tamanho, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 58 | fornecedor = :fornecedor, | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 59 | observacoes = :observacoes | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 60 | WHERE id = :id"); | Linha de implementação que compõe a lógica normal do arquivo e deve ser lida em conjunto com o bloco onde está inserida. |
| 61 | $query->bindValue(':id', $id); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 62 | } | Marca abertura/fechamento de bloco de código, objeto, array ou estrutura de controle. |
| 63 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 64 | $query->bindValue(':cliente', $cliente); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 65 | $query->bindValue(':modelo', $modelo); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 66 | $query->bindValue(':cor', $cor); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 67 | $query->bindValue(':densidade', $densidade); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 68 | $query->bindValue(':tamanho', $tamanho); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 69 | $query->bindValue(':fornecedor', $fornecedor); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 70 | $query->bindValue(':observacoes', $observacoes); | Associa um valor PHP a um parâmetro nomeado da query preparada. |
| 71 | $query->execute(); | Executa a query preparada no banco de dados. |
| 72 | Linha em branco usada para separar blocos e melhorar a leitura. | |
| 73 | echo 'Salvo com Sucesso'; | Envia saída para o navegador ou para o AJAX. O conteúdo retornado aqui precisa respeitar o contrato esperado pela tela. |
| 74 | ?> | Fecha o bloco PHP atual para voltar à saída HTML. |