Comparação entre variáveis

<!DOCTYPE html>
<html>
<head>
    <title>GESTÃO DE CASOS</title>
    <meta lang="pt-br" charset="utf-8">
    <link rel="icon" type="imagem/png" href="../gestao/img/logo.png" />
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <script type="text/javascript" src="../bootstrap/sweetalert/dist/sweetalert.js"></script>
</head>
<body>

<?php

if(!isset($_SESSION)) 

    { 

        session_start(); 

    } 

        date_default_timezone_set('America/Sao_Paulo');


        header('Content-type: text/html; charset=utf-8');

        
        if (isset($_POST["submit"])) {


        $hr_agendamento = ('H:i:s');

        $now = date('Y-m-d H:i:s');

        $planoID = $_POST["planoID"];  
      
        $pacienteID = $_POST["pacienteID"];

        $unidadeID = $_POST["unidadeID"];

        $dt_programada = $_POST["dt_programada"];

        $hr_inicial = $_POST["hr_inicial"];

        $hr_final = $_POST["hr_final"];

        $atendimentoID = $_POST["atendimentoID"];


        }
        

        $unidade = $_SESSION['unidade_referencia'];

        
        include ("../administracao/conn.php");

        
        $agenda = "SELECT a.hr_inicial, a.hr_final, DATE_FORMAT(  `dt_programada` ,  '%d/%m/%Y' ) AS  `data_formatada` , b.unidadeID, b.unidade_referencia
                    FROM tb_agenda a
                    INNER JOIN tb_unidade b ON a.unidadeID = b.unidadeID
                    WHERE b.unidade_referencia =  $unidade";


            
           /* nessa parte que não estou conseguindo fazer a comparação , consigo pegar a variável que o usuário digita, porém não estou conseguindo trazer do banco de dados*/        

        ***IF ( (["dt_programada"] == $_POST["dt_programada"]) && (["hr_inicial"] == $_POST["hr_inicial"]) && (["hr_final"] == $_POST["hr_final"])) {
            echo "<script>    swal('ATENÇÃO','DATA E HORÁRIO JÁ CADASTRADO', 'warning').then(function() {window.location = '../plano/escolha_paciente_plano.php';});</script>";    
            
        }***


            ELSE

            {

            
        $sql = "INSERT INTO tb_agenda (planoID, pacienteID, unidadeID, dt_programada, hr_inicial, hr_final, atendimentoID) values ('$planoID','$pacienteID', '$unidadeID', '$dt_programada', '$hr_inicial', '$hr_final', '$atendimentoID')";


        
        if (mysqli_query($connect, $sql)) 

        {

            echo "<script>swal('BOM TRABALHO!', 'AGENDA CADASTRADA COM SUCESSO!', 'success').then(function() {window.location = '../plano/escolha_paciente_plano.php';});</script>";


            $x = 'Agenda criada com sucesso';


            include "../administracao/agenda_log.php";

        } 


        else 

        {
            echo 
"<script>swal('INFELIZMENTE', 'NÃO FOI POSSÍVEL CADASTRAR A AGENDA', 'warning').then(function() {window.location = '../plano/escolha_paciente_plano.php';});</script>" . $sql . "<br>" . mysqli_error($connect);


            $x = 'Não foi possível criar a agenda';


            include "../administracao/agenda_log.php";
            
            }

        }

        

?>
</body>
</html>

Especifique mais as suas dúvidas, por gentileza.

Olá, @smatt.

Quero que esse script funcione da seguinte maneira

Ex.: já está cadastrado o agendamento dia 10/07/2019 às 14h:00 - 15:00

Sendo assim, quando forem fazer outro agendamento que a data e horário seja igual a do EX ele não deixe agendar, caso contrário efetue o agendamento.

Script

Se

$dt_programada == $_POST[“dt_programada”] && $hr_inicial == $_POST[“hr_inicial”] && $hr_final == $_POST[“hr_final”]

echo “data e horário já cadastrado”

Se não

Permite o agendamento

Não estou conseguindo pegar a data já cadastrada no banco de dados e fazer a comparação com a que o usuário está digitando.

Uma opção é você colocar uma outra cláusula no where para comparar data e hora

1 curtida

Oi, @darlan_machado. Como assim? Poderia me dar um exemplo.

Você tem essa query

SELECT a.hr_inicial, a.hr_final, DATE_FORMAT(  `dt_programada` ,  '%d/%m/%Y' ) AS  `data_formatada` , b.unidadeID, b.unidade_referencia
                    FROM tb_agenda a
                    INNER JOIN tb_unidade b ON a.unidadeID = b.unidadeID
                    WHERE b.unidade_referencia =  $unidade

Bastaria incluir algo como:

WHERE b.unidade_referencia = $unidade
AND dt_programada = $data
AND $hora BETWEEN a.hr_inicial AND a.hr_final

Algo assim

@darlan_machado

Coloquei dessa forma, busca quando jogo no sql

$agenda = "SELECT a.hr_inicial, a.hr_final, DATE_FORMAT(  `dt_programada` ,  '%d/%m/%Y' ) AS  `data_formatada` , b.unidadeID, b.unidade_referencia
				FROM tb_agenda a
				INNER JOIN tb_unidade b ON a.unidadeID = b.unidadeID
				WHERE b.unidade_referencia =  $unidade
				AND dt_programada = $data
				AND $data BETWEEN a.hr_inicial AND a.hr_final"; 

mais acho que não estou sabendo declarar o IF

IF ($data == $_POST[“dt_programada”]) {
echo “ATENÇÃO’,'DATA E HORÁRIO JÁ CADASTRADO”;
}

Com essa declaração só fica nesse IF.

Quero que busque a dt_programada do meu banco de dados e faça a comparação com o dt_programada que eu usuário vai digitar.