|
|
|
อยากถามเรื่องการจัดห้องสอบ คือว่าตอนนี้ทำโปรเจคเกี่ยวกับรับสมัคร นศ.ออนไลน์อยู่ค่ะ อยากทราบวิธีจัด |
|
|
|
|
|
|
|
แนะนำว่าต้องมีตาราง (ที่แนะนำนี้คือเกี่ยวกับเฉพาะที่คุณถามนะครับ คุณจะมีตารางอีกก็แล้วแต่ครับ)
* ตารางห้องสอบ
ฟิลด์ - หมายเลขห้องสอบ(pk)
- จำนวนที่นั่ง
- (อื่นๆแล้วแต่จะกำหนดเอาครับ)
*ตารางนักเรียน
ฟิลด์ - รหัสนักเรียน(pk)
- (อื่นๆแล้วแต่จะกำหนดเอาครับ)
*ตารางที่นั่ง
ฟิลด์ - หมายเลขห้องสอบ(pk)
- รหัสนักเรียน(pk)
- (อื่นๆแล้วแต่จะกำหนดเอาครับ)
-----------------------------------
ทีนี้เวลามีนักเรียนมาลงทะเบียนสอบ เขาก็ submit มา
(ผมจะจัดห้องสอบและที่นั่ง โดยการจัดเรียงตามหมายเลขห้อง น้อย->มาก และที่นั่งจาก น้อย -> มาก)
-----------------------------------
โครงสร้างตารางที่ผมสมมติขึ้นมา
CREATE TABLE `rooms` (
`room_id` varchar(20) NOT NULL,
`num_seat` int(3) NOT NULL,
PRIMARY KEY (`room_id`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620;
--
-- dump ตาราง `rooms`
--
INSERT INTO `rooms` VALUES ('001', 1);
INSERT INTO `rooms` VALUES ('002', 40);
CREATE TABLE `seat_reserved` (
`room_id` varchar(20) NOT NULL,
`std_id` varchar(20) NOT NULL,
`seat` int(11) NOT NULL,
PRIMARY KEY (`room_id`,`std_id`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620;
--
-- dump ตาราง `seat_reserved`
--
INSERT INTO `seat_reserved` VALUES ('001', '4842212', 1);
CREATE TABLE `students` (
`std_id` varchar(20) NOT NULL,
`std_fullname` varchar(255) NOT NULL,
PRIMARY KEY (`std_id`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620;
--
-- dump ตาราง `students`
--
INSERT INTO `students` VALUES ('4842212', 'DDD PPPP');
INSERT INTO `students` VALUES ('4842213', 'GGG HHHH');
-----------------------------------
//PHP SCRIPT
<?
$connect = mysql_connect("localhost","","");
mysql_select_db("test",$connect);
function getAvailable($room_id)
{
global $connect;
$sql = "SELECT num_seat FROM rooms WHERE room_id = '$room_id' ";
$result = mysql_query($sql,$connect);
$data = mysql_fetch_array($result);
$num_seat = $data[0];
$sql = "SELECT *
FROM rooms INNER JOIN seat_reserved ON rooms.room_id = seat_reserved .room_id
WHERE rooms.room_id = '$room_id' GROUP BY seat_reserved .std_id";
$result = mysql_query($sql,$connect);
$num_seated = mysql_num_rows($result);
$available = $num_seat - $num_seated;
return $available;
}
function getRoom()
{
global $connect;
$sql = "SELECT COUNT(*),room_id FROM rooms GROUP BY room_id";
$result = mysql_query($sql,$connect);
while($data = mysql_fetch_array($result))
{
if(getAvailable($data['room_id']) > 0)
{
return $data['room_id'];
break;
}
}
}
function getSeat($room_id)
{
global $connect;
$sql = "SELECT seat FROM seat_reserved WHERE room_id = '$room_id' ORDER BY seat DESC ";
$result = mysql_query($sql,$connect);
$count = mysql_num_rows($result);
$data = mysql_fetch_array($result);
if($count < 1)
{
return 1;
}
else
{
return $data[0]+1;
}
}
function checkRegistered($std_id)
{
global $connect;
$sql = "SELECT * FROM seat_reserved WHERE std_id ='$std_id' ";
$result = mysql_query($sql,$connect);
$return_rows = mysql_num_rows($result);
if($return_rows < 1)
{
return true;
}
else
{
return false;
}
}
$std_id = $_POST['reg_std_id'];
if(checkRegistered($std_id))
{
$room = getRoom();
$seat = getSeat($room);
echo $room;
echo $seat;
}
else
{
echo"Sorry!!! You already registered!!!";
}
?>
|
|
|
|
|
Date :
12 เม.ย. 2551 23:35:06 |
By :
kinkop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดูนะครับ เช็คดูด้วยว่าถูกต้องรึป่าวนะครับ
ผมยังเช็คมาแล้วล่ะ แต่ยังเช็คไม่ค่อยละเอียดเท่าไหร่
|
|
|
|
|
Date :
12 เม.ย. 2551 23:36:28 |
By :
Kinkop |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ กินกบ ขยันแหะเขียน code แจกด้วย....
|
|
|
|
|
Date :
13 เม.ย. 2551 01:50:07 |
By :
ก้องน้อยหอยสังฆ์ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คนดีๆที่น่ายกย่อง
|
|
|
|
|
Date :
13 เม.ย. 2551 06:08:09 |
By :
asachi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โหยยยยยยยยยย ขอบคุณมากค่ะ
พอดีเพิ่งมาเปิดตอนเที่ยงแล้วววว
ยังไม่ได้ลองดูเลย แต่ยังไงก้อขอบคุณนค่ะ
ไว้ได้ไม่ได้จามาบอกค่ะ ขอบคุณค่ะ
|
|
|
|
|
Date :
13 เม.ย. 2551 12:01:57 |
By :
maewjung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถามอีกนิดค่ะ เอามาประยุกต์ใช้ในดรีมยังไงอ่ะค่ะ
คือว่าไม่เก่งอ่ะค่ะ >.<
ช่วยแนะนำอีกหน่อยนะ
|
|
|
|
|
Date :
13 เม.ย. 2551 13:52:29 |
By :
maewjung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ค่ะๆๆ
|
|
|
|
|
Date :
14 เม.ย. 2551 01:05:24 |
By :
maewjung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|