|
|
|
ขอสอบถามเรื่อง สร้างตารางสอน ด้วย PHP *ข้อมูลไม่โชว์ครับ |
|
|
|
|
|
|
|
ติดปัญหาว่า ข้อมูลมันไม่โชว์ออกมาครับ ไม่รุ้ติดตรงไหน
Code (PHP)
<style type="text/css">
.wrap_schedule{
margin:auto;
width:800px;
}
.activity{
background-color:#C6EEC3;
font-size:12px;
}
.time_schedule{
font-size:12px;
}
.day_schedule{
font-size:12px;
}
.time_schedule_text{
width:60px;
}
.day_schedule_text{
width:80px;
}
</style>
<!-- Content Wrapper. Contains page content -->
<div class="content-wrapper">
<!-- Main content -->
<section class="content">
<?php
$thai_day_arr=array("จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์","อาทิตย์");
$thai_month_arr=array("","มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิการยน","ธันวมคม");
$thai_month_arr_short=array("","ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค.");
//////////////////////// ส่วนของการจัดการตารางเวลา /////////////////////
$sc_startTime=date("Y-m-d 08:00:00"); //กำหนดเวลาเริ่มต้น เปลี่ยนเฉพาะเลจเวลา
$sc_endTime=date("Y-m-d 22:00:00"); //กำหนดเวลาสิ้นสุด เปลี่ยนเฉพาะเลจเวลา
$sc_t_startTime=strtotime($sc_startTime);
$sc_t_endTime=strtotime($sc_endTime);
$sc_numStep="60"; //ช่วงช่องว่าง หน่วยน่าที 60นาที =1ชั่วโมง
$sc_timeStep=7;//จำนวนวันที่จะโชว์ 1-7
$sc_timeStep=array();
$sc_numCol=0;
////////////////////// ส่วนของการจัดการตารางเวลา /////////////////////
// ส่วนของการกำหนดวัน สามารถนำไปประยุกต์กรณีทำตารางเวลาแบบ เลื่อนดูแต่ละสัปดาห์ได้
$now_day=date("Y-m-d");//วันที่ ปัจจุบัน ให้แสดงตารางที่มีวันปัจจุบัน เมื่อแสดงครั้งแรก
if (isset($_GET['uts'])&& $_GETp['uts']!="") { //เมื่อมีการเปลี่ยน Week
$now_day=date("Y-m-d",trim($_GETp['uts'])); //เปลี่ยนวันที่ แปลงจากค่าวันจันทร์ที่ส่งมา
}
// หาตัวบวก หรือลบ เพื่อหาวันที่ของวันจันทร์ในสัปดาห์
$startWeekDay_back=(date("w",strtotime($now_day))!=0)?-(date("w",strtotime($now_day))):-6;
$start_weekDay=date("Y-m-d",strtotime("+$startWeekDay_back day")); //หาวันที่ของวันจันทร์ของสัปดาห์
if (isset($_GET['ust']) && $_GET['uts']!="") { //ถ้ามีค่าเปลี่ยน Week มา
$start_weekDay=$now_day; //ให้ใช้วันแรก เป็นวันที่ส่งมา
}
// หาวันที่วันอาทิตย์ของ Week นั้น ๆ
$end_weekDay=date("Y-m-d",strtotime($start_weekDay."+7 day"));
$timestamp_prev=strtotime($start_weekDay."-7 day"); //ค่าวันจันทร์ของอาทิตย์ก่อนหน้า
$timestamp_next=strtotime($start_weekDay."+7 day"); //ค่าวันจันทร์ของอาทิตย์ถัดไป
while ($sc_t_startTime<=$sc_t_endTime) {
$sc_timeStep[$sc_numCol]=date("H:i",$sc_t_startTime);
$sc_t_startTime=$sc_t_startTime+($sc_numStep*60);
$sc_numCol++; //ได้จำนวนคอมลัมน์ที่จะแสดง
}
///////////////////// ส่วนของข้อมูล ที่ดึงจากฐานข้อมูล ///////////////////
$data_schedule=array();
$strSQL = "SELECT * FROM tble_schedule
WHERE course_date BETWEEN '".$start_weekDay."' AND '".$end_weekDay."'
ORDER BY course_date";
$result=mysql_db_query ($objDB,$strSQL);
if ($result) {
while ($row=mysql_fetch_assoc($result)) {
$data_schedule[$row['course_date']][]=array(
"start_time"=>$row['course_start_time'],
"end_time"=>$row['course_end_time'],
"detail"=>$row['course_title']
);
}
}
?>
<div class="wrap_schedule">
<button type="" class="btn btn-md btn-info" onclick="window.location='pt_main.php?uts=<?php echo $timestamp_prev;?>'"> Prev</button>
<button type="" class="btn btn-md btn-info" onclick="window.location='pt_main.php?uts=<?php echo $timestamp_next;?>'"> Next</button>
</div>
<br>
<div class="wrap_schedule">
<table cellpadding="2" cellspacing="2" class="table table-bordered table-striped">
<tr>
<td align="center" valign="middle" height="50"></td>
<?php for ($i_time=0; $i_time <$sc_numCol-1 ; $i_time++) { ?>
<td align="center" valign="middle" height="50">
<div class="time_schedule_text">
<?php echo $sc_timeStep[$i_time];?> - <?php echo $sc_timeStep[$i_time+1];?>
</div>
</td>
<?php }?>
</tr>
<?php //วน Loop แสดงจำนวนวันตามที่กำหนด
for ($i_day=0; $i_day <$num_dayShow; $i_day++) {
$dayInSchedule_chk=date("Y-m-d",strtotime($start_weekDay."+".$i_day."day"));
$dayInSchedule_show=date("d-m-Y",strtotime($start_weekDay."+".$i_day."day"));
?>
<tr>
<td align="center" valign="middle" height="50" class="day_schedule">
<div class="day_schedule_text">
<?php echo $thai_day_arr[$i_day];?>
<br>
<?php echo $dayInSchedule_show;?>
</div>
</td>
<?php
//ตรวจสอบและกำหนดช่วงเวลาให้สอดคล้องกับข้อมูล
if (isset($data_schedule[$dayInSchedule_chk])) {
$num_data=count($data_schedule[$dayInSchedule_chk]);
} else {
$num_data=0;
}
$arr_checkSpan=array();
$arr_detailShow=array();
$real_sc_numCol=$sc_numCol;
for ($i_time=0; $i_time <$sc_numCol-1 ; $i_time++) {
if ($num_data>0) {
$haveIN=0;
$dataShow="";
foreach ($data_schedule[$dayInSchedule_chk] as $k => $v) {
if (strtotime($dayInSchedule_chk." ".$sc_timeStep[$i_time].":00")==strtotime($dayInSchedule_chk." ".$v['start_time'])) {
$haveIN++;
$dataShow=$v['detail'];
$add=1;
while (strtotime($dayInSchedule_chk." ".$sc_timeStep[$i_time+$add].":00") < strtotime($dayInSchedule_chk." ".$v['end_time']))
{
$haveIN++;
$dataShow=$v['detail'];
$add++;
}
}
}
$arr_checkSpan[$i_time]=$haveIN;
$arr_detailShow[$i_time]=$dataShow;
}
}
for ($i_time=0; $i_time <$sc_numCol-1 ; $i_time++) {
$colspan="";
$css_use="";
$dataShowIN="";
if (isset($arr_checkSpan[$i_time])) {
if ($arr_checkSpan[$i_time]>0) {
$dataShowIN=$arr_detailShow[$i_time];
$css_use="class=\"activity\"";
}
if ($arr_checkSpan[$i_time]>1) {
$colspan="colspan=\"".$arr_checkSpan[$i_time]."\"";
$step_add=$arr_checkSpan[$i_time]-1;
$i_time+=$step_add;
}
}
?>
<td <?php echo $css_use;?> <?php echo $colspan;?> align="center" valign="middle" height="50">
<?php
echo $dataShowIN;
?>
</td>
<?php }?>
</tr>
<?php }?>
</table>
</div>
</section><!-- /.content -->
</div><!-- /.content-wrapper -->
Tag : PHP, CSS, JAVA
|
ประวัติการแก้ไข 2018-06-30 14:14:15 2018-06-30 14:16:06 2018-06-30 14:17:57
|
|
|
|
|
Date :
2018-06-30 14:12:52 |
By :
bondsanti |
View :
786 |
Reply :
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|