Ir para conteúdo
Fórum Script Brasil

Lucimara Moquenco Canhiato

Membros
  • Total de itens

    4
  • Registro em

  • Última visita

Tudo que Lucimara Moquenco Canhiato postou

  1. Olá! Pessoal, meu problema é o seguinte: Tenho uma tabela para cadastrar guias com os campos: id_guia; status_guia; dt_cadastro_guia, id_posto, id_paciente, id_tipo(tipo de atendimento), id_atend(atendimento), peso_guia, alt_guia, urg_guia, id_esp(especialista). Na minha tabela atend(atendimento) tenho os campos: id_atend, id_tipo, nome_atend, obs_atend, idade_ini_atend, idade_fim_atend. Vou inserir na tabela atend, idade que aquele atendimento atende, exemplo de 0 a 17 anos. Alguns atendimentos não terão nenhuma informação nestes campos. Preciso que ao inserir guias caso haja a informação nestes campos, faça uma verificação da idade do paciente e diga que a especialidade não atende caso esteja fora deste intervalo. PS: Eu sei que os nomes dos campos das tabelas não precisam ter _guia ou _atend, mas preferi colocar mesmo sabendo que é redundante pois como sou muito iniciante estava tendo dificuldades para me organizar, ok? <?php include_once "../../config/db.php";?> <?php include_once "../../view/layout/menu.php";?> <?php include_once "../../config/functions.php";?> <?php date_default_timezone_set('America/Sao_Paulo'); setlocale(LC_NUMERIC, 'pt_BR'); $id = $_GET['id']; if (count($_POST) > 0) { $data_hora_formatada = date('Y-m-d H:i:s'); $dt_cadastro = date('Y-m-d H:i:s'); $posto = $_POST['posto']; $status = $_POST['status']; $paciente = $_POST['paciente'] ?? null; $tipo_atend = $_POST['tipo_atend']; $atend = $_POST['atend']; $peso = str_replace(',', '.', $_POST['peso']); $alt = str_replace(',', '.', $_POST['alt']); $urg = isset($_POST['urg']) ? 1 : 0; $esp = $_POST['esp']; $erros = []; // Verifica se o paciente existe $stmt = $conn->prepare("SELECT * FROM paciente WHERE id_paciente = :id"); $stmt->bindParam(':id', $id); $stmt->execute(); $pac = $stmt->fetch(PDO::FETCH_ASSOC); // Calcular a idade do paciente $dt_nascto = $pac['dt_nascto_paciente']; $idade = date_diff(date_create($dt_nascto), date_create('now'))->y; if (!empty($tipo_atend) && !empty($atend)) { // Buscar os limites de idade da especialidade $stmt = $conn->prepare("SELECT idade_ini_atend, idade_fim_atend FROM atend WHERE id_atend = :id_atend"); $stmt->bindParam(':id_atend', $atend); $stmt->execute(); $atend_data = $stmt->fetch(PDO::FETCH_ASSOC); // Verifica se a especialidade foi encontrada if ($atend_data) { $idade_ini = $atend_data['idade_ini_atend']; $idade_fim = $atend_data['idade_fim_atend']; // Verifica se os limites de idade estão definidos if (!is_null($idade_ini) && !is_null($idade_fim) && $idade_ini !== '' && $idade_fim !== '') { $idade_ini = (int)$idade_ini; $idade_fim = (int)$idade_fim; // Verifica se a idade do paciente está dentro dos limites if ($idade < $idade_ini || $idade > $idade_fim) { $erros[] = "A idade do paciente não está dentro dos limites permitidos para esta especialidade!"; } } } else { $erros[] = "Especialidade não encontrada!"; } } if (empty($posto)) { $erros[] = "Selecione um Posto!"; } if (empty($esp)) { $erros[] = "Informe qual especialista solicitou!"; } if (empty($tipo_atend)) { $erros[] = "Selecione um tipo de Especialidade!"; } if (empty($atend)) { $erros[] = "Informe a Especialidade!"; } if (empty($peso)) { $erros[] = "Informe o Peso!"; } if (!is_numeric($peso) || $peso <= 0) { $erros[] = "Peso deve ser um número positivo!"; } if (empty($alt)) { $erros[] = "Informe a altura!"; } if (!is_numeric($alt) || $alt <= 0) { $erros[] = "Altura deve ser um número positivo!"; } if (!empty($erros)) { echo "<script>alert('ATENÇÃO! " . implode("\\n", $erros) . "');</script>"; } else { $sql_code = "INSERT INTO guia(id_posto, status_guia, id_paciente, id_tipo, id_atend, peso_guia, alt_guia, urg_guia, dt_cadastro_guia, id_esp) VALUES(:posto, :status, :paciente, :tipo_atend, :atend, :peso, :alt, :urg, :dt_cadastro, :esp)"; $stmt = $conn->prepare($sql_code); $stmt->bindParam(':posto', $posto); $stmt->bindParam(':status', $status); $stmt->bindParam(':paciente', $id); $stmt->bindParam(':tipo_atend', $tipo_atend); $stmt->bindParam(':atend', $atend); $stmt->bindParam(':peso', $peso); $stmt->bindParam(':alt', $alt); $stmt->bindParam(':urg', $urg); $stmt->bindParam(':dt_cadastro', $data_hora_formatada); $stmt->bindParam(':esp', $esp); $deu_certo = $stmt->execute(); if ($deu_certo) { echo "<script> alert('Guia cadastrada com sucesso!!'); window.location.href = 'buscaGuias.php?id_paciente=" . htmlspecialchars($id) . "'; </script>"; unset($_POST); } } } $stmt = $conn->prepare("SELECT * FROM paciente WHERE id_paciente = :id"); $stmt->bindParam(':id', $id); $stmt->execute(); $pac = $stmt->fetch(PDO::FETCH_ASSOC); ?> ```html <!DOCTYPE html> <html> <head> <link rel="stylesheet" href="../../assets/css/addGuia.css"> <title>Cadastro de Guias</title> </head> <body> <div class="container" id="contcadGuia"> <br> <div class="row"> <h3><?php echo "" . $pac['nome_paciente'] . ""?></h3> <div class="form col-sm-2" id="btnVoltar"> <a href="buscaGuias.php?id_paciente=<?php echo htmlspecialchars($id); ?>" class="form-control btn btn-primary">Voltar</a> </div> </div> <p class="destaque" style="margin-left:60px;">*Campo Obrigatório</p> <form class="form-control-sm" method="post" id="form_addGuia" class="form_addGuia" name="form_addGuia" action=""> <br> <div class="row"> <div hidden class="form col-sm-2" id="divStatus"> <label>Status<span class="destaque">*</span></label> <input class="form-control form-control-sm inputs" name="status" id="status" type="hidden" maxlength="10" value="Ativa" readonly> </div> <div class="form col-sm-2" id="divPosto"> <label>Posto Solicitante<span class="destaque">*</span></label> <input type="hidden" name="id" maxlength="150" value="<?php echo $id;?>"> <select name="posto" id="posto" required> <option value="">Selecione..</option> <?php $query = $conn->query("SELECT id_posto, apelido_posto FROM posto ORDER BY apelido_posto ASC"); $registros = $query->fetchAll(PDO::FETCH_ASSOC); foreach($registros as $option) { ?> <option value="<?php echo $option['id_posto']?>"><?php echo $option['apelido_posto']?></option> <?php } ?> </select> </div> <div class="form col-sm-2" id="divEsp"> <label>Especialista Solicitante<span class="destaque">*</span></label> <select name="esp" id="esp" required> <option value="">Selecione..</option> <?php $query = $conn->query("SELECT id_esp, nome_esp FROM especialista ORDER BY nome_esp ASC"); $registros = $query->fetchAll(PDO::FETCH_ASSOC); foreach($registros as $option) { ?> <option value="<?php echo $option['id_esp']?>"><?php echo $option['nome_esp']?></option> <?php } ?> </select> </div> <div class="form col-sm-3" id="divTipo"> <label>Tipo de Especialidade<span class="destaque">*</span></label> <select name="tipo_atend" id="tipo_atend" required> <option value="">Selecione..</option> <?php $query = $conn->query("SELECT * FROM tipo_atend ORDER BY nome_tipo ASC"); $registros = $query->fetchAll(PDO::FETCH_ASSOC); foreach($registros as $option) { ?> <option value="<?php echo $option['id_tipo']?>"><?php echo $option['nome_tipo']?></option> <?php } ?> </select> </div> <div class="form col-sm-2" id="divAtend"> <label>Especialidade<span class="destaque">*</span></label> <select name="atend" id="atend" required> <option value="">Selecione..</option> </select> </div> <div class="form col-sm-1" id="divPeso"> <label>Peso<span class="destaque">*</span></label> <input class="form-control form-control-sm inputs" name="peso" id="peso" type="text" maxlength="10" value="<?php if(isset($_POST['peso'])) echo $_POST['peso'];?>"> </div> <div class="form col-sm-1" id="divAlt"> <label>Altura<span class="destaque">*</span></label> <input class="form-control form-control-sm inputs" name="alt" id="alt" type="text" maxlength="10" value="<?php if(isset($_POST['alt'])) echo $_POST['alt'];?>"> </div> <div class="container" id="contUrg"> <div class="form col-sm-1 checkbox-item" id="divUrg"> <label> Urgente<input type="checkbox" name="urg" id="urg" value="Sim"> <span class="custom-checkbox"></span> </label> </div> </div> <div class="form col-sm-1" id="divBtnInserir"> <input class="form-control btn btn-primary" id="btnInserir" name="salvar" type="submit" value="Inserir"> </div> </div> </form> </div> <script type="text/javascript" defer src="../../assets/js/addGuias.js"></script> </body> </html> Esqueci de avisar que o código está validando mesmo quando os campos estão vazios!
  2. Obrigada Frank! Funcionou direitinho! Obrigada pelas dicas das tabelas! Eu estava fazendo como você indicou, mas como sou bemmmm iniciante, fiquei um pouco confusa e alterei para ficar mais fácil para eu entender o que estava fazendo! kkkk.
  3. Obrigada pela ajuda Frank. O problema não foi resolvido. Se eu não declaro: $nome = mysqli_fetch_array($resultado_guias); Não consigo buscar o nome do paciente. Mas ele mostra todas as guias cadastradas para o paciente. Se eu faço essa declaração, ele não mostra o 1º registro. Quanto a colocar o peso e altura no cadastro do paciente, para mim não funciona, pois o peso pode alterar quando cadastrar a guia. Prefiro que esta informação fique atrelada à guia. O tipo de atendimento no caso seria "Exame, Consulta ou Procedimento", por isso criei uma tabela separada. você tirou o while que estava no meu código, assim ele mostra somente 1 registro. Preciso que ele mostre todas as guias cadastradas para aquele paciente. Consegue me ajudar?
  4. Alguém consegue me ajudar? Estou criando uma consulta, e ela funciona direitinho. Ela vem de um link de outra consulta que mostra registros relacionados ao id escolhido. Acontece que consigo mostrar o id na página, mas gostaria de mostrar o nome em vez do id. Até consegui colocar o nome, mas minha consulta começa a não mostrar o 1º registro. Segue o código <?php $id = $_GET['id']; $result_guias = "SELECT pac.id_paciente, p.id_posto, t.id_tipo, a.id_atend, g.id_guia, pac.nome_paciente, p.apelido_posto, t.nome_tipo, a.nome_atend, g.dt_cadastro_guia, g.peso_guia, g.alt_guia, g.urg_guia FROM guia g INNER JOIN paciente pac ON pac.id_paciente = g.id_paciente INNER JOIN posto p ON p.id_posto = g.id_posto INNER JOIN tipo_atend t ON t.id_tipo = g.id_tipo INNER JOIN atend a ON a.id_atend = g.id_atend WHERE pac.id_paciente = '$id'"; $resultado_guias = mysqli_query($conn, $result_guias); $nome = mysqli_fetch_array($resultado_guias); if (mysqli_num_rows($resultado_guias) == 0){ echo "<div class='form col-sm-4 offset-1'> <label style='padding-left:100px; margin-top:20px; color:red; font-size:20px'>Nenhuma guia encontrada!</label> </div>"; }else{ echo ' <div class="container" id="contcadPaciente"> <div class="title" id="divTitulo"> <h3>'.$_GET['id'].'</h3> <br> <h3>'.$nome['nome_paciente'].'</h3> <br> </div> <div class="container"> <table class="table table-hover table-sm" id="tabela"> <thead class="thead-dark"> <tr> <th scope="col-sm-1" style="text-align: center; width:30px; color:#003893; font-size:12px">Data Cadastro</th> <th scope="col-sm-2" style="text-align: center; width:80px; color:#003893; font-size:12px">Posto Emissor</th> <th scope="col-sm-3" style="text-align: center; width:100px; width:100px; color:#003893; font-size:12px">Tipo Especialidade</th> <th scope="col-sm-3" style="text-align: center; width:100px; width:50px; color:#003893; font-size:12px">Especialidade</th> <th scope="col-sm-1" style="text-align: center; width:20px; color:#003893; font-size:12px">Peso</th> <th scope="col-sm-1" style="text-align: center; width:20px; color:#003893; font-size:12px">Altura</th> <th scope="col-sm-1" style="text-align: center; width:20px; color:#003893; font-size:12px">Urgente</th> <th scope="col-sm-1" style="text-align: center; color:#003893; font-size:12px">Ação</th> </tr> </thead>'; while ($linha = mysqli_fetch_array($resultado_guias)){ $date = new DateTime($dt_cadastro=$linha['dt_cadastro_guia'] ); $interval = $date->diff( new DateTime( date('Y-m-d') ) ); echo' <tbody class="" id="tbl_guia"> <tr> <td scope="row" style="text-align: center; width:30px; font-size:10px; color:#003893">'. $dt_cadastro = $linha['dt_cadastro_guia'].'</td> <td scope="row" style="text-align: center; width:80px; font-size:10px; color:#003893">'.$id_posto = $linha['apelido_posto'].'</td> <td scope="row" style="text-align: center; text-transform:uppercase; width:100px; font-size:10px; color:#003893">'.$id_tipo = $linha['nome_tipo'].'</td> <td scope="row" style="text-align: center; text-transform:uppercase; width:50px; font-size:10px; color:#003893">'.$id_atend = $linha['nome_atend'].'</td> <td scope="row" style="text-align: center; text-transform:uppercase; width:20px; font-size:10px; color:#003893">'.$peso = $linha['peso_guia'].'</td> <td scope="row" style="text-align: center; text-transform:uppercase; width:20px; font-size:10px; color:#003893">'.$alt = $linha['alt_guia'].'</td> <td scope="row" style="text-align: center; text-transform:uppercase; width:50px; font-size:10px; color:#003893">'.$urg = $linha['urg_guia'].'</td> <td width="15%" style="text-align: center; color:#003893; font-size:10px"><a href=edtPaciente.php?id='.$linha['id_guia'].'>Editar</a> | <a href=pesqGuia.php?id='.$linha['id_guia'].'>Guias</a> </tr> </tbody>'; } echo '</table>'; } ?>
×
×
  • Criar Novo...