
Lucimara Moquenco Canhiato
Membros-
Total de itens
4 -
Registro em
-
Última visita
Sobre Lucimara Moquenco Canhiato

Últimos Visitantes
1.409 visualizações
Lucimara Moquenco Canhiato's Achievements
0
Reputação
-
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!
-
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?
-
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>'; } ?>