|
|
|
ต้องการกำหนดค่าในอาร์เรย์แล้วส่งค่าในอาร์เรย์เข้าฟังก์ชัน รบกวนช่วยดูโค้ดให้หน่อยนะค่ะ |
|
|
|
|
|
|
|
concept ของโปรแกรมนี้คือ
ต้องการค้นหาเวลาที่ถูกจองในฐานข้อมูล แล้วแสดงออกมาเป็นตารางพร้อมทั้งแสดงเวลาที่จอง กับสถานะ
ในโค้ดที่เขียนไว้ ใช้ array เป็นตัวเปรียบเทียบ
รูปแบบโค้ดที่เขียนไว้แล้วรันได้
รูปแบบที่ต้องการคือให้ทั้งสองค่ารวมกันเป็นค่าเดียวแบบนี้ค่ะ
Code (SQL)
CREATE TABLE `reserve` (
`ReserveNo` varchar(15) NOT NULL,
`DateCurrent` date NOT NULL,
`DateReserve` date NOT NULL,
`start_Time` time NOT NULL,
`end_Time` time NOT NULL,
`Amount_Hour` int(5) default NULL,
`DetailsReserve` varchar(255) NOT NULL,
`EmpId` varchar(10) NOT NULL,
`MemberId` varchar(10) NOT NULL,
`Status_Reserve` varchar(5) default NULL,
`confirm_Reserve` varchar(5) default NULL,
`RoomId` varchar(5) NOT NULL,
PRIMARY KEY (`ReserveNo`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Dumping data for table `reserve`
--
INSERT INTO `reserve` VALUES ('111', '2013-03-09', '2013-03-13', '16:00:00', '18:00:00', 1, 'ds', '56-0001', '56-0001', 'n', 'n', 'b01');
INSERT INTO `reserve` VALUES ('2', '2013-03-09', '2013-03-13', '13:00:00', '14:00:00', 1, 'dfdf', '56-0002', '56-0003', 'n', 'n', 'b01');
Code (PHP) โค้ดคำสั่ง select เวลาที่จองออกมาจากฐานข้อมูล
include "connect.php";
$sql = "select * from Reserve where DateReserve='$date_find' AND RoomId = '$Rooms' ORDER BY start_Time";
$result = mysql_db_query($dbname,$sql);
$reserve =array();
$numRows =mysql_num_rows($result);
while($dbarr = mysql_fetch_array($result))
{
array_push($reserve,$dbarr);
//echo "$dbarr[start_Time]<br>";
}
//print_r($reserve);
echo "<table border=1>";
echo "<tr><th>เวลาจอง</th><th>status</th></tr>";
foreach($reserve as $dbarr)
{
$db_H_start = explode(":",$dbarr[start_Time]) ;
$db_H_end = explode(":",$dbarr[end_Time]);
echo "hs = $db_H_start[0] <br>he = $db_H_end[0]<br>";
echo "h_s = $H_start<br>h_e = $H_end<br><br>";
createTable($db_H_start[0],$db_H_end[0],$dbarr[ReserveNo]);
}
//echo "</table>";
}
?>
//function
function createTable($start,$end,$id)
{
$amountT = $end - $start;
$timeS = 11;
echo "<table>";
$times = array(11,12,13,14,15,16,17,18,19);
$statusR = array();
for($i = 0;$i<9;$i++)
{
if($times[$i] == $start)//t11 s11
{
if($amountT<2)
{
if(!$statusR[$i])
{
echo "<tr><td>$start:01 –$end:00</td><td>ไม่ว่าง</td></tr>";
$statusR[$i] = "ไม่ว่าง";
}
}
else
{
if(!$statusR[$i])
{
echo "<tr><td>$start:01 –".($start+1).":00</td><td>ไม่ว่าง</td></tr>";
echo "<tr><td>".($start +1).":01 –".$end.":00</td><td>ไม่ว่าง</td></tr>";
$statusR[$i] = "ไม่ว่าง";
$statusR[$i+1] ="ไม่ว่าง";
}
}
}
else
{
$statusR[$i]="ว่าง";
echo "<tr><td>$times[$i]:01 –".($times[$i]+1).":00</td><td>ว่าง</td></tr>";
}
}//close for($i)
echo "</table>";
return($statusR);
}//close function
<?
?>
รบกวนผู้รู้ช่วยแนะนำหน่อยนะค่ะ
Tag : PHP, MySQL
|
|
|
|
|
|
Date :
2013-03-11 04:30:28 |
By :
Nws_Nax |
View :
670 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ติดตรงไหนครับ ลองถามแคบ ๆ กว่านี้หน่อยครับ
|
|
|
|
|
Date :
2013-03-11 11:52:54 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ติดตรงโยนค่าเข้าไปใส่ในฟังก์ชันแล้วมันวนออกมาสองรอบ อยากให้มันออกมาแค่รอบเดียว แล้วเก็บค่าของรอบแรกไว้ด้วยนะค่ะ
|
|
|
|
|
Date :
2013-03-13 14:40:18 |
By :
Nws_Nax |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|