Artificial Intelligence Programming Lab(AIPLab) 討論區

Please login or register.

請輸入帳號, 密碼以及預計登入時間

新聞:

[開學]106學年第1學期的課程看版開張了 歡迎同學問問題-20170917

作者 主題: [Web Client 2] 預約掛號  (閱讀 2227 次)

admin

  • 管理員
  • Hero Member
  • *****
  • 文章: 1873
    • 檢視個人資料
[Web Client 2] 預約掛號
« 於: 十二月 18, 2014, 03:43:22 pm »
(1) 開啟phpMyAdmin
(2) 建立clinic資料庫
(3) 建立一個資料庫帳號phpuser/FDEGejxdw2tKQXTB
(4) 建立clinic資料庫的資料表
程式碼: [Select]
--
-- 表的结构 `admin`
--
CREATE TABLE IF NOT EXISTS `admin` (
  `username` varchar(20) NOT NULL,
  `userpwd` varchar(20) NOT NULL,
  PRIMARY KEY (`username`),
  KEY `userpwd` (`userpwd`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- 转存表中的数据 `admin`
--
INSERT INTO `admin` (`username`, `userpwd`) VALUES
('admin', 'bioinfo');
--
-- 表的结构 `patient`
--
CREATE TABLE IF NOT EXISTS `patient` (
  `vid` int(11) NOT NULL AUTO_INCREMENT,
  `pid` varchar(20) COLLATE utf32_bin NOT NULL COMMENT '身份證',
  `pname` varchar(100) COLLATE utf32_bin NOT NULL,
  `chartno` varchar(20) COLLATE utf32_bin NOT NULL,
  `birthday` date NOT NULL,
  `gender` varchar(2) COLLATE utf32_bin NOT NULL,
  `email` varchar(100) COLLATE utf32_bin NOT NULL,
  PRIMARY KEY (`vid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_bin AUTO_INCREMENT=1 ;
-- --------------------------------------------------------
--
-- 表的结构 `sectionstaff`
--
CREATE TABLE IF NOT EXISTS `sectionstaff` (
  `vsection` varchar(20) COLLATE utf32_bin NOT NULL,
  `dname` varchar(20) COLLATE utf32_bin NOT NULL,
  PRIMARY KEY (`vsection`)
) ENGINE=InnoDB DEFAULT CHARSET=utf32 COLLATE=utf32_bin;
--
-- 表的结构 `visitinglist`
--
CREATE TABLE IF NOT EXISTS `visitinglist` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `vsection` varchar(100) COLLATE utf32_bin NOT NULL COMMENT '看診時段和診間',
  `pid` varchar(20) COLLATE utf32_bin NOT NULL COMMENT 'Patient ID',
  `pname` varchar(200) COLLATE utf32_bin NOT NULL,
  `vnumber` int(11) NOT NULL COMMENT '診號',
  `vstatus` varchar(10) COLLATE utf32_bin NOT NULL DEFAULT '未看診' COMMENT '看診狀態',
  PRIMARY KEY (`id`),
  KEY `vsection` (`vsection`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf32 COLLATE=utf32_bin AUTO_INCREMENT=1 ;
--
-- 表的结构 `visitingplan`
--
CREATE TABLE IF NOT EXISTS `visitingplan` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `weekday1` varchar(100) COLLATE utf32_bin NOT NULL,
  `plans` varchar(100) COLLATE utf32_bin NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `vsection` (`weekday1`),
  KEY `vdoctor` (`plans`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf32 COLLATE=utf32_bin AUTO_INCREMENT=27 ;
--
-- 表的结构 `visitingstaff`
--
CREATE TABLE IF NOT EXISTS `visitingstaff` (
  `did` int(11) NOT NULL AUTO_INCREMENT,
  `dname` varchar(20) COLLATE utf32_bin NOT NULL,
  `dbio` text COLLATE utf32_bin NOT NULL,
  PRIMARY KEY (`did`),
  UNIQUE KEY `dname` (`dname`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf32 COLLATE=utf32_bin AUTO_INCREMENT=4 ;
--
-- 转存表中的数据 `visitingstaff`
--
INSERT INTO `visitingstaff` (`did`, `dname`, `dbio`) VALUES
(1, '張行醫', '台北醫學大學醫學士\r\n中華民國小兒科專科醫師\r\n中華民國小兒神經科專科醫師\r\n馬偕醫院小兒神經科專科研究員\r\n中華民國發展遲緩兒童早期療育協會會員\r\n中華民國醫用超音波醫學會會員\r\n台灣兒童過敏氣喘及免疫醫學會會員 \r\n===========================\r\n主治項目  \r\n小兒腦神經疾患(發展遲緩、癲癇、頭痛、\r\n睡眠障礙、妥瑞症、不自主動作、腦部血管異常、\r\n行為異常、學習障礙、說話與語言遲緩、\r\n暈眩等神經相關問題) \r\n'),
(2, '劉新藥', '陽明大學醫學士\r\n中華民國小兒科專科醫師\r\n兒科消化學專科醫師\r\n馬偕醫院小兒胃腸營養專科研究員\r\n台灣兒科醫學會會員\r\n台灣小兒消化醫學會會員\r\n中華民國醫用超音波醫學會會員 \r\n===========================\r\n主治項目  \r\n小兒腸胃疾病(腹痛、腹脹、便秘、腸胃炎)\r\n小兒一般門診 \r\n小兒健康門診 \r\n'),
(3, '陳聽診', '台北醫學大學醫學士\r\n中華民國小兒科專科醫師\r\n台灣新生兒專科醫師\r\n馬偕醫院新生兒科專科研究員\r\n台灣新生兒科醫學會會員\r\n中華民國醫用超音波醫學會會員\r\n台灣兒童過敏氣喘及免疫醫學會會員 \r\n===========================\r\n主治項目  \r\n新生兒科疾病\r\n小兒一般門診\r\n小兒呼吸道疾病\r\n小兒過敏氣喘及感染 \r\n');
« 最後編輯時間: 十二月 18, 2014, 08:55:25 pm 由 admin »
已記錄

admin

  • 管理員
  • Hero Member
  • *****
  • 文章: 1873
    • 檢視個人資料
回覆: [Web Client 2] 看診進度
« 回覆文章 #1 於: 十二月 18, 2014, 03:48:42 pm »
(5) 在C:\wamp\www目錄下建立一個子目錄admin,或者直接解壓縮附件clinic_admin.zip
(6) 在C:\wamp\www目錄下解壓縮附件clinic.zip
(7) 用Dreamweaver開啟一個新的PHP檔案如下,存到 C:\wamp\www\index.php
程式碼: [Select]
<?php
require_once 'db_functions.php';
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>模擬診所看診系統
</title>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$.ajaxSetup ({
    // Disable caching of AJAX responses
    cache: false
});
$(document).ready(function() {
var myVar = setInterval(function(){myTimer()}, 1000);
});


function myTimer() {
    var d = new Date();
    var timeStr = d.toLocaleTimeString();
    $("#curTime").html(timeStr);
$.get( "visit_now.php", function(data){
        $("#curVisitNo" ).html(data);}
);


}
</script>
</head>
<link rel="stylesheet" href="../lunchbox/main.css">
<body>
<h1>模擬診所看診系統</h1>
<hr />
<button onclick="location.href='guest_reg.php'">預約掛號</button>
<button onclick="location.href='guest_query.php'">查詢掛號</button>
<hr />
<div id="curTime">
</div>
<h1>AU Clinic</h1>
<div style="font-size:20px" id="curVisitDr">
看診醫師:
<?php
   $dname 
GetVSectionStaffToday();
   echo 
$dname;
?>

</div>
<div style="font-size:20px" id="curVisitNo">
</div>
<hr />
<h3>醫師資料</h3>
<?php

$vss 
GetVisitingStaff();
foreach (
$vss as $vs) { 
print 
'
<h4>'
.$vs['name'].'</h4>
'
.nl2br(htmlspecialchars($vs['bio']));
}
?>

</body>
</html>
已記錄

admin

  • 管理員
  • Hero Member
  • *****
  • 文章: 1873
    • 檢視個人資料
回覆: [Web Client 2] 看診進度
« 回覆文章 #2 於: 十二月 18, 2014, 04:07:51 pm »
( 8 )用Dreamweaver開啟一個新的PHP檔案如下,存到 C:\wamp\www\guest_reg.php
程式碼: [Select]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>預約掛號</title>
</head>
<body>
<button onclick="location.href='index.php'">目前看診進度</button>
<button onclick="location.href='guest_query.php'">查詢掛號</button>
<h1>預約掛號</h1>
<hr />
<form name="reg_form" id="reg_form" action="sim_register_guest.php" method="POST">
<table border="2" cellpadding="1" align="center" width="100%">
<tr>
    <td id="t1">星期一</td><td id="t2">星期二</td><td id="t3">星期三</td><td id="t4">星期四</td><td id="t5">星期五</td><td id="t6">星期六</td><td id="t7">星期日</td>
    </tr>
<tr>
    <td colspan="2">病人身份證號碼</td>
    <td colspan="2">病人姓名</td>
    <td colspan="3"></td>
</tr>
<tr>
    <td colspan="2"><input type="text" name="PatientID" id="PatientID" /></td>
    <td colspan="2"><input type="text" name="PatientName" id="PatientName"/></td>
    <td colspan="1"><input type="button" name="PRegSubmit" id="PRegSubmit" value="預約" /></td>
    <td colspan="2"></td>
</tr>
</table>
</form>
</body>
</html>

(9) 加上PHP程式在<!DOCTYPE前面
程式碼: [Select]
<?php require_once 'db_functions.php';
//日期處理
$today = new DateTime();
$dtBegin = new DateTime();
$dtBegin->modify('monday this week');
//醫生姓名 $vss[0], $vss[1], $vss[2]
$vss GetVisitingStaffName();
?>

(9) 加上PHP程式在星期日</td> </tr>後面

程式碼: [Select]
<tr>
<?php
//此週每天的看診醫師
$p=GetVisitingPlan($dtBegin);
if (
is_null($p))
{
for ($i 0$i count($p); $i++)
{
    if ($dtBegin $today)
print '
<td><input type="radio" name="WhichDate" value="'
.$dtBegin->format('Y-m-d').'" disabled="disabled">
<label>醫師:(未排定)</label></td>'
;
else
print '
<td><input type="radio" name="WhichDate" value="'
.$dtBegin->format('Y-m-d').'">
<label>醫師:(未排定)</label></td>'
;
$dtBegin->modify('+1 day');
}
}
else
{
for ($i 0$i count($p); $i++)
{ $vsection =$dtBegin->format('Y-m-d');
    if ($dtBegin $today)
print '
<td>'
.$vsection.'<br/><input type="radio" name="WhichDate" value="'.$vsection.'" disabled="disabled">
<label>醫師:'
.$vss[$p[$i]-1].'</label></td>';
else
print '
<td>'
.$vsection.'<br/><input type="radio" name="WhichDate" value="'.$vsection.'">
<label>醫師:'
.$vss[$p[$i]-1].'</label></td>';
$dtBegin->modify('+1 day');
}
}

?>

</tr>

« 最後編輯時間: 十二月 18, 2014, 08:10:56 pm 由 admin »
已記錄

admin

  • 管理員
  • Hero Member
  • *****
  • 文章: 1873
    • 檢視個人資料
回覆: [Web Client 2] 看診進度
« 回覆文章 #3 於: 十二月 18, 2014, 04:10:12 pm »
(10) 加上表單檢查的jQuery程式,在</head>後面
程式碼: [Select]
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>   
$(document).ready(function () {
 
      //定義有人Click時檢查是否有選預約日期
      $("#PRegSubmit").click(function(){
        CheckRadios();
      });
 
});

//callback handler for form submit
function  CheckRadios()
{
var checkedInputs = 0;
var selects = new Array();
var d = $("input[name='WhichDate']:checked").val();
if (d == undefined)
{   
    alert("沒有選擇看診日期");
return;
}
var p = $("#PatientID").val();
if (p == undefined || p.length < 5 )
{
alert("請輸入身份證字號");
$("#PatientID").focus();
return;
}
var n = $("#PatientName").val();
if (n == undefined ||  n.length < 2 )
{
alert("請輸入病人姓名");
$("#PatientName").focus();
return;
}
$("#reg_form").submit();
}
</script>

已記錄

admin

  • 管理員
  • Hero Member
  • *****
  • 文章: 1873
    • 檢視個人資料
回覆: [Web Client 2] 看診進度
« 回覆文章 #4 於: 十二月 18, 2014, 04:12:15 pm »
(11) 用Dreamweaver開啟一個新的PHP檔案如下,存到 C:\wamp\www\sim_register_guest.php
程式碼: [Select]
<?php
if (!isset($_POST["WhichDate"]))
{
$redir "guest_reg.php";
header("Location: $redir");
}
$vdate $_POST["WhichDate"];
$patientID $_POST["PatientID"];
$patientName $_POST["PatientName"];

require_once 
'db_functions.php';
$curRegisterNo GetRegisterNo($vdate$patientID$patientName);

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>預約掛號結果</title>
</head>

<body>
<h1>預約掛號結果</h1>
<?php
print '<h2>'.$patientName.'('.$patientID.')先生/女士您好:</h2>';

if (
$curRegisterNo 0)
print '<h2>您之前已掛號在'.$vdate.'</h2>
   號碼是'
.$curRegisterNo.',請記得看診';
else
{
RegisterData($vdate$patientID$patientName);
$curRegisterNo GetRegisterNo($vdate$patientID$patientName);
print '<h2>您預約在'.$vdate.'看診</h2>
   號碼是'
.$curRegisterNo.',謝謝您。';
}
?>

<hr />
<button onclick="location.href='guest_reg.php'">預約其他日期</button>
<button onclick="location.href='guest_query.php'">查詢所有掛號</button>
<button onclick="location.href='index.php'">目前看診進度</button>
</body>
</html>
已記錄
 

SimplePortal Classic 2.0.5