Appointment Booking System Overview
Appointment Booking System Overview
DOCTYPE html>
<?php
include('[Link]');
include('[Link]');
$con=mysqli_connect("localhost","root","","myhmsdb");
$pid = $_SESSION['pid'];
$username = $_SESSION['username'];
$email = $_SESSION['email'];
$fname = $_SESSION['fname'];
$gender = $_SESSION['gender'];
$lname = $_SESSION['lname'];
$contact = $_SESSION['contact'];
if(isset($_POST['app-submit']))
{
$pid = $_SESSION['pid'];
$username = $_SESSION['username'];
$email = $_SESSION['email'];
$fname = $_SESSION['fname'];
$lname = $_SESSION['lname'];
$gender = $_SESSION['gender'];
$contact = $_SESSION['contact'];
$doctor=$_POST['doctor'];
$email=$_SESSION['email'];
# $fees=$_POST['fees'];
$docFees=$_POST['docFees'];
$appdate=$_POST['appdate'];
$apptime=$_POST['apptime'];
$cur_date = date("Y-m-d");
date_default_timezone_set('Asia/Kolkata');
$cur_time = date("H:i:s");
$apptime1 = strtotime($apptime);
$appdate1 = strtotime($appdate);
if(date("Y-m-d",$appdate1)>=$cur_date){
if((date("Y-m-d",$appdate1)==$cur_date and date("H:i:s",
$apptime1)>$cur_time) or date("Y-m-d",$appdate1)>$cur_date) {
$check_query = mysqli_query($con,"select apptime from appointmenttb
where doctor='$doctor' and appdate='$appdate' and apptime='$apptime'");
if(mysqli_num_rows($check_query)==0){
$query=mysqli_query($con,"insert into
appointmenttb(pid,fname,lname,gender,email,contact,doctor,docFees,appdate
,apptime,userStatus,doctorStatus)
values($pid,'$fname','$lname','$gender','$email','$contact','$doctor','$d
ocFees','$appdate','$apptime','1','1')");
if($query)
{
echo "<script>alert('Your appointment successfully
booked');</script>";
}
else{
echo "<script>alert('Unable to process your request. Please
try again!');</script>";
}
}
else{
echo "<script>alert('We are sorry to inform that the doctor is
not available in this time or date. Please choose different time or
date!');</script>";
}
}
else{
echo "<script>alert('Select a time or date in the
future!');</script>";
}
}
else{
echo "<script>alert('Select a time or date in the
future!');</script>";
}
if(isset($_GET['cancel']))
{
$query=mysqli_query($con,"update appointmenttb set userStatus='0'
where ID = '".$_GET['ID']."'");
if($query)
{
echo "<script>alert('Your appointment successfully
cancelled');</script>";
}
}
function generate_bill(){
$con=mysqli_connect("localhost","root","","myhmsdb");
$pid = $_SESSION['pid'];
$output='';
$query=mysqli_query($con,"select
[Link],[Link],[Link],[Link],[Link],[Link],[Link],[Link],[Link]
gy,[Link],[Link] from prestb p inner join appointmenttb a on
[Link]=[Link] and [Link] = '$pid' and [Link] = '".$_GET['ID']."'");
while($row = mysqli_fetch_array($query)){
$output .= '
<label> Patient ID : </label>'.$row["pid"].'<br/><br/>
<label> Appointment ID : </label>'.$row["ID"].'<br/><br/>
<label> Patient Name : </label>'.$row["fname"].' '.
$row["lname"].'<br/><br/>
<label> Doctor Name : </label>'.$row["doctor"].'<br/><br/>
<label> Appointment Date : </label>'.$row["appdate"].'<br/><br/>
<label> Appointment Time : </label>'.$row["apptime"].'<br/><br/>
<label> Disease : </label>'.$row["disease"].'<br/><br/>
<label> Allergies : </label>'.$row["allergy"].'<br/><br/>
<label> Prescription : </label>'.$row["prescription"].'<br/><br/>
<label> Fees Paid : </label>'.$row["docFees"].'<br/>
';
return $output;
}
if(isset($_GET["generate_bill"])){
require_once("TCPDF/[Link]");
$obj_pdf = new TCPDF('P',PDF_UNIT,PDF_PAGE_FORMAT,true,'UTF-8',false);
$obj_pdf -> SetCreator(PDF_CREATOR);
$obj_pdf -> SetTitle("Generate Bill");
$obj_pdf -> SetHeaderData('','',PDF_HEADER_TITLE,PDF_HEADER_STRING);
$obj_pdf ->
SetHeaderFont(Array(PDF_FONT_NAME_MAIN,'',PDF_FONT_SIZE_MAIN));
$obj_pdf ->
SetFooterFont(Array(PDF_FONT_NAME_MAIN,'',PDF_FONT_SIZE_MAIN));
$obj_pdf -> SetDefaultMonospacedFont('helvetica');
$obj_pdf -> SetFooterMargin(PDF_MARGIN_FOOTER);
$obj_pdf -> SetMargins(PDF_MARGIN_LEFT,'5',PDF_MARGIN_RIGHT);
$obj_pdf -> SetPrintHeader(false);
$obj_pdf -> SetPrintFooter(false);
$obj_pdf -> SetAutoPageBreak(TRUE, 10);
$obj_pdf -> SetFont('helvetica','',12);
$obj_pdf -> AddPage();
$content = '';
$content .= '
<br/>
<h2 align ="center"> Global Hospitals</h2></br>
<h3 align ="center"> Bill</h3>
';
$content .= generate_bill();
$obj_pdf -> writeHTML($content);
ob_end_clean();
$obj_pdf -> Output("[Link]",'I');
function get_specs(){
$con=mysqli_connect("localhost","root","","myhmsdb");
$query=mysqli_query($con,"select username,spec from doctb");
$docarray = array();
while($row =mysqli_fetch_assoc($query))
{
$docarray[] = $row;
}
return json_encode($docarray);
}
?>
<html lang="en">
<head>
<link rel="stylesheet"
href="[Link]
[Link]"
integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDj
zALeQsN6M" crossorigin="anonymous">
<link rel="stylesheet"
href="[Link]
[Link]"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9Jvo
RxT2MZw1T" crossorigin="anonymous">
<link href="[Link]
family=IBM+Plex+Sans&display=swap" rel="stylesheet">
<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-
top">
<a class="navbar-brand" href="#"><i class="fa fa-user-plus" aria-
hidden="true"></i> Global Hospital </a>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-expanded="false" aria-
label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<style >
.bg-primary {
background: -webkit-linear-gradient(left, #3931af, #00c6ff);
}
.[Link] {
z-index: 2;
color: #fff;
background-color: #342ac1;
border-color: #007bff;
}
.text-primary {
color: #342ac1!important;
}
.btn-primary{
background-color: #3c50c1;
border-color: #3c50c1;
}
</style>
</div><br>
</div>
<div class="col-md-8" style="margin-top: 3%;">
<div class="tab-content" id="nav-tabContent" style="width: 950px;">
<p class="cl-effect-1">
<a href="#app-hist" onclick="clickDiv('#list-pat-
list')">
View Appointment History
</a>
</p>
</div>
</div>
</div>
</div>
<p class="cl-effect-1">
<a href="#list-pres" onclick="clickDiv('#list-
pres-list')">
View Prescription List
</a>
</p>
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane fade" id="list-home" role="tabpanel" aria-
labelledby="list-home-list">
<div class="container-fluid">
<div class="card">
<div class="card-body">
<center><h4>Create an appointment</h4></center><br>
<form class="form-group" method="post" action="admin-
[Link]">
<div class="row">
<!-- <?php
$con=mysqli_connect("localhost","root","","myhmsdb");
$query=mysqli_query($con,"select username,spec
from doctb");
$docarray = array();
while($row =mysqli_fetch_assoc($query))
{
$docarray[] = $row;
}
echo json_encode($docarray);
?> -->
<div class="col-md-4">
<label for="spec">Specialization:</label>
</div>
<div class="col-md-8">
<select name="spec" class="form-control"
id="spec">
<option value="" disabled selected>Select
Specialization</option>
<?php
display_specs();
?>
</select>
</div>
<br><br>
<script>
[Link]('spec').onchange = function
foo() {
let spec = [Link];
[Link](spec)
let docs =
[...[Link]('doctor').options];
</script>
<div class="col-md-4"><label
for="doctor">Doctors:</label></div>
<div class="col-md-8">
<select name="doctor" class="form-control"
id="doctor" required="required">
<option value="" disabled selected>Select
Doctor</option>
<script>
[Link]('doctor').onchange = function
updateFees(e) {
var selection = [Link](`[value=$
{[Link]}]`).getAttribute('data-value');
[Link]('docFees').value = selection;
};
</script>
<!-- <div class="col-md-4"><label
for="doctor">Doctors:</label></div>
<div class="col-md-8">
<select name="doctor" class="form-
control" id="doctor1" required="required">
<option value="" disabled
selected>Select Doctor</option>
</select>
</div>
<br><br> -->
<!-- <script>
var options =
[Link]("doctor1").querySelectorAll("option");
if (category == selected) {
[Link] =
"block";
} else {
[Link] =
"none";
}
}
}
</script> -->
<!-- <script>
let data =
[Link]('spec').onchange = function
updateSpecs(e) {
let values = [Link](obj => [Link] ==
[Link]).map(o => [Link]);
[Link]('doctor1').value =
[Link](`[value=${values}]`).getAttribute('data-value');
};
</script> -->
<div class="col-md-4"><label>Appointment
Date</label></div>
<div class="col-md-8"><input type="date" class="form-
control datepicker" name="appdate"></div><br><br>
<div class="col-md-4"><label>Appointment
Time</label></div>
<div class="col-md-8">
<!-- <input type="time" class="form-control"
name="apptime"> -->
<select name="apptime" class="form-control"
id="apptime" required="required">
<option value="" disabled selected>Select
Time</option>
<option value="08:00:00">8:00 AM</option>
<option value="10:00:00">10:00 AM</option>
<option value="12:00:00">12:00 PM</option>
<option value="14:00:00">2:00 PM</option>
<option value="16:00:00">4:00 PM</option>
</select>
</div><br><br>
<div class="col-md-4">
<input type="submit" name="app-submit" value="Create
new entry" class="btn btn-primary" id="inputbtn">
</div>
<div class="col-md-8"></div>
</div>
</form>
</div>
</div>
</div><br>
</div>
$con=mysqli_connect("localhost","root","","myhmsdb");
global $con;
$query = "select
ID,doctor,docFees,appdate,apptime,userStatus,doctorStatus from
appointmenttb where fname ='$fname' and lname='$lname';";
$result = mysqli_query($con,$query);
while ($row = mysqli_fetch_array($result)){
#$fname = $row['fname'];
#$lname = $row['lname'];
#$email = $row['email'];
#$contact = $row['contact'];
?>
<tr>
<td><?php echo $row['doctor'];?></td>
<td><?php echo $row['docFees'];?></td>
<td><?php echo $row['appdate'];?></td>
<td><?php echo $row['apptime'];?></td>
<td>
<?php if(($row['userStatus']==1) &&
($row['doctorStatus']==1))
{
echo "Active";
}
if(($row['userStatus']==0) &&
($row['doctorStatus']==1))
{
echo "Cancelled by You";
}
if(($row['userStatus']==1) &&
($row['doctorStatus']==0))
{
echo "Cancelled by Doctor";
}
?></td>
<td>
<?php if(($row['userStatus']==1) &&
($row['doctorStatus']==1))
{ ?>
echo "Cancelled";
} ?>
</td>
</tr>
<?php } ?>
</tbody>
</table>
<br>
</div>
$con=mysqli_connect("localhost","root","","myhmsdb");
global $con;
$query = "select
doctor,ID,appdate,apptime,disease,allergy,prescription from prestb where
pid='$pid';";
$result = mysqli_query($con,$query);
if(!$result){
echo mysqli_error($con);
}
</tr>
<?php }
?>
</tbody>
</table>
<br>
</div>
</body>
</html>
Contact
<!DOCTYPE html>
<html>
<head>
<title>Contact Us</title>
<link rel="shortcut icon" type="image/x-icon" href="images/[Link]"
/>
<link
href="//[Link]/bootstrap/4.1.1/css/[Link]"
rel="stylesheet" id="bootstrap-css">
<link rel="stylesheet" href="vendor/fontawesome/css/font-
[Link]">
<link href="[Link]
family=IBM+Plex+Sans&display=swap" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="[Link]">
<script
src="//[Link]/bootstrap/4.1.1/js/[Link]"></
script>
<script
src="//[Link]/ajax/libs/jquery/3.2.1/[Link]"></
script>
<script >
function alphaOnly(event) {
var key = [Link];
return ((key >= 65 && key <= 90) || key == 8 || key == 32);
};
</script>
<style >
body{
background: -webkit-linear-gradient(left, #3931af, #00c6ff);
}
.contact-form {
background: #f8f9fa;
border-top-left-radius: 10% 50%;
border-bottom-left-radius: 10% 50%;
border-top-right-radius: 10% 50%;
border-bottom-right-radius: 10% 50%;
}
</style>
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark fixed-top"
id="mainNav" >
<div class="container">
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="[Link]"
style="color: white;font-family: 'IBM Plex Sans', sans-
serif;"><h6>CONTACT</h6></a>
</li>
</ul>
</div>
</div>
</nav>
</body>
</html>
Doctor Panel
<!DOCTYPE html>
<?php
include('[Link]');
$con=mysqli_connect("localhost","root","","myhmsdb");
$doctor = $_SESSION['dname'];
if(isset($_GET['cancel']))
{
$query=mysqli_query($con,"update appointmenttb set doctorStatus='0'
where ID = '".$_GET['ID']."'");
if($query)
{
echo "<script>alert('Your appointment successfully
cancelled');</script>";
}
}
?>
<html lang="en">
<head>
<link rel="stylesheet"
href="[Link]
[Link]"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9Jvo
RxT2MZw1T" crossorigin="anonymous">
<link href="[Link]
family=IBM+Plex+Sans&display=swap" rel="stylesheet">
<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-
top">
<a class="navbar-brand" href="#"><i class="fa fa-user-plus" aria-
hidden="true"></i> Global Hospital </a>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent" aria-
controls="navbarSupportedContent" aria-expanded="false" aria-
label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<style >
.btn-outline-light:hover{
color: #25bef7;
background-color: #f8f9fa;
border-color: #f8f9fa;
}
</style>
<style >
.bg-primary {
background: -webkit-linear-gradient(left, #3931af, #00c6ff);
}
.[Link] {
z-index: 2;
color: #fff;
background-color: #342ac1;
border-color: #007bff;
}
.text-primary {
color: #342ac1!important;
}
</style>
</div><br>
</div>
<div class="col-md-8" style="margin-top: 3%;">
<div class="tab-content" id="nav-tabContent" style="width: 950px;">
<div class="tab-pane fade show active" id="list-dash"
role="tabpanel" aria-labelledby="list-dash-list">
</div>
</div>
</div>
<div class="tab-pane fade" id="list-app" role="tabpanel" aria-
labelledby="list-home-list">
</tr>
</thead>
<tbody>
<?php
$con=mysqli_connect("localhost","root","","myhmsdb");
global $con;
$dname = $_SESSION['dname'];
$query = "select
pid,ID,fname,lname,gender,email,contact,appdate,apptime,userStatus,doctor
Status from appointmenttb where doctor='$dname';";
$result = mysqli_query($con,$query);
while ($row = mysqli_fetch_array($result)){
?>
<tr>
<td><?php echo $row['pid'];?></td>
<td><?php echo $row['ID'];?></td>
<td><?php echo $row['fname'];?></td>
<td><?php echo $row['lname'];?></td>
<td><?php echo $row['gender'];?></td>
<td><?php echo $row['email'];?></td>
<td><?php echo $row['contact'];?></td>
<td><?php echo $row['appdate'];?></td>
<td><?php echo $row['apptime'];?></td>
<td>
<?php if(($row['userStatus']==1) &&
($row['doctorStatus']==1))
{
echo "Active";
}
if(($row['userStatus']==0) &&
($row['doctorStatus']==1))
{
echo "Cancelled by Patient";
}
if(($row['userStatus']==1) &&
($row['doctorStatus']==0))
{
echo "Cancelled by You";
}
?></td>
<td>
<?php if(($row['userStatus']==1) &&
($row['doctorStatus']==1))
{ ?>
echo "Cancelled";
} ?>
</td>
<td>
echo "-";
} ?>
</td>
</tr></a>
<?php } ?>
</tbody>
</table>
<br>
</div>
$con=mysqli_connect("localhost","root","","myhmsdb");
global $con;
$query = "select
pid,fname,lname,ID,appdate,apptime,disease,allergy,prescription from
prestb where doctor='$doctor';";
$result = mysqli_query($con,$query);
if(!$result){
echo mysqli_error($con);
}
</tr>
<?php }
?>
</tbody>
</table>
</div>
$con=mysqli_connect("localhost","root","","myhmsdb");
global $con;
#$fname = $row['fname'];
#$lname = $row['lname'];
#$email = $row['email'];
#$contact = $row['contact'];
?>
<tr>
<td><?php echo $row['fname'];?></td>
<td><?php echo $row['lname'];?></td>
<td><?php echo $row['email'];?></td>
<td><?php echo $row['contact'];?></td>
<td><?php echo $row['doctor'];?></td>
<td><?php echo $row['docFees'];?></td>
<td><?php echo $row['appdate'];?></td>
<td><?php echo $row['apptime'];?></td>
</tr>
<?php } ?>
</tbody>
</table>
<br>
</div>
Home Page
<?php
include("[Link]");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1,
shrink-to-fit=no">
</head>
<style type="text/css">
#inputbtn:hover{cursor:pointer;}
.card{
background: #f8f9fa;
border-top-left-radius: 5% 5%;
border-bottom-left-radius: 5% 5%;
border-top-right-radius: 5% 5%;
border-bottom-right-radius: 5% 5%;
}
</style>
<body style="background: -webkit-linear-gradient(left, #3931af,
#00c6ff); background-size: cover;">
<nav class="navbar navbar-expand-lg navbar-dark fixed-top"
id="mainNav" >
<div class="container">
<li class="nav-item">
<a class="nav-link js-scroll-trigger" href="[Link]"
style="color: white;font-family: 'IBM Plex Sans', sans-
serif;"><h6>CONTACT</h6></a>
</li>
</ul>
</div>
</div>
</nav>
</div>
</div>
</div>