|
|
|
จะวนยังไงดีครับให้มันออกมาเป็นเหมือนตารางด้านล่างตอนนี้ยังทำไม่ได้เลยครับ |
|
|
|
|
|
|
|
มาแบบมึนๆ ใช้ยังไงรึ ฟังชั้นไม่เห็นมีให้โหลดเลย
|
|
|
|
|
Date :
2013-04-30 15:43:35 |
By :
wichasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีใครพออธิบายแนวทางได้ไหมหน้าคนเก่งๆ
|
|
|
|
|
Date :
2013-04-30 15:45:42 |
By :
wichasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แนวทางตามที่ขอครับ ส่วนการเทียบข้อมูลลองคิวรี่มาเทียบเองนะครับ
ช่วงนี้งานเข้า คงไม่ได้แวะเข้ามาอีกหลายวัน
<?php
$row = 7;
$timeArr = array( "8.30-9.20", "9.20-10.10", "10.15-11.05", "11.05-11.55",
"11.55-12.45", "12.45-13.35", "13.35-14.30", "14.30-15.20",
"15.20-16.10", "16.10-17.00",
"17.00-17.50");
function createCol($arr){
$row = "";
foreach( $arr as $data )
{
$row .= '<td>' . $data . '</td>';
}
return $row;
}
$list = "";
echo '<table border="1" width="90%" align="center">';
echo '<tr><td> </td>'. createCol( $timeArr ) .'</tr>';
for($i = 0; $i < $row; $i++){
//ค้นหาข้อมูลในตารางลงทะเบียน
//นับช่วงเวลา start_time กับ stop_time ว่ามีกี่ช่อง
//$num = ช่วงเวลากี่ช่อง
$list = '<tr>';
$list.= '<td>ลายเซ็น</td>';
foreach( $timeArr as $time )
{
$highlight = "";
//ถ้ามีข้อมูลตรงช่วงเวลาให้ระบายสี
//if() $highlight = "highlight";
$list.= '<td class="'. $highlight .'"> </td>';
}
$list.= '</tr>';
$list.= '<tr>';
$list.= '<td>เอก/รุ่น/ห้อง</td>';
foreach( $timeArr as $time )
{
$colspan = "";
//ถ้า $time อยู่ในช่วงข้องข้อมูล ให้แสดงข้อมูล
//และ กำหนด $colspan ด้วย
//if(){
// $colspan = $num;
//}
//ถ้ายังอยู่ในช่วงเวลาสอน ให้สร้างครั้งเดียว
//continue
$data = " ";
$list .= '<td '.$colspan.'>' . $data . '</td>';
}
$list .= '</tr>';
echo $list;
}
echo '</table>';
?>
|
|
|
|
|
Date :
2013-04-30 16:21:53 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับเดี๋ยวลองทำดูคับได้ไงเดี๋ยวรายงาน
|
|
|
|
|
Date :
2013-04-30 17:53:45 |
By :
wichasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากโค้ด ถ้าต้องการเพิี่มช่องด้านหน้าช่อง ลายเซน/รุ่น/ห้อง อีก 2 ช่องเพิ่มตรงไหนหรอครับ
|
|
|
|
|
Date :
2013-04-30 19:35:26 |
By :
wichasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณ Cyberman ผมยังเทียบไม่ได้เลยครับ หรือว่าเพื่อนสมาฃิกท่านไหนพอที่จะเทียบค่าเป็นบ้างครับ
|
|
|
|
|
Date :
2013-04-30 20:33:19 |
By :
wichasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. ถ้าต้องการเพิี่มช่องด้านหน้าช่อง ลายเซน/รุ่น/ห้อง อีก 2 ช่องเพิ่มตรงไหนหรอครับ
=> ด้านหน้า อีก 2 ช่องคือค่าอะไรครับ เก็บไว้ในฐานข้อมูลหรือเปล่า
2. เทียบข้อมูลให้หน่อย
=> Export ฐานข้อมูลตามรูปมาให้ด้วยนะครับ จะได้ลองเขียนโค๊ดดู
ปล. เอาไปลองเขียน แต่ไม่รับรองว่าจะได้เร็ววัน ^__^
|
|
|
|
|
Date :
2013-05-02 08:57:21 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อัพโค๊ดใหม่ ระบายสีช่องที่เป็นเวลาสอนครับ
<style>
.no{ width : 100px; text-align : center;}
.highlight{ background-color : #cccccc; }
.title{ text-align : center;}
</style>
<?php
$timeArr = array(
0 => array( "start" => "08:30", "stop" => "09:20"),
1 => array( "start" => "09:20", "stop" => "10:10"),
2 => array( "start" => "10:15", "stop" => "11:05"),
3 => array( "start" => "11:05", "stop" => "11:55"),
4 => array( "start" => "11:55", "stop" => "12:45"),
5 => array( "start" => "12:45", "stop" => "13:35"),
6 => array( "start" => "13:35", "stop" => "14:30"),
7 => array( "start" => "14:30", "stop" => "15:20"),
8 => array( "start" => "15:20", "stop" => "16:10"),
9 => array( "start" => "16:10", "stop" => "17:00"),
10 => array( "start" => "17:00", "stop" => "17:50")
);
//DATABASE to Array
//วนลูปฐานข้อมูล มาเก็บในรูปแบบ Array
$timeTeach = array(
0 => array(
array('time' => '08:30-11:55', 'title' => '4312405 เทคโนโลยีสารสนเทศ และการสื่อสาร'),
array('time' => '13:35-15:20', 'title' => '4312605 ระบบฐานข้อมูล')
),
1 => array(
array('time' => '12:45-16:10', 'title' => '4312502 หัวข้อพิเศษเกี่ยวกับวิทยาการคอมพิวเตอร์')
),
2 => array(),
3 => array(),
4 => array(),
5 => array(),
6 => array(),
7 => array()
);
//End การจัดรูปแบบข้อมูล
/* Head Column */
function createCol($arr){
$row = "";
foreach( $arr as $data )
{
$row .= '<td>' . $data['start'] . '-' . $data['stop'] . '</td>';
}
return $row;
}
/* Key Positon */
function getCol($haystack, $keyNeedle)
{
$i = 0;
foreach($haystack as $arr)
{
if($arr['start'] == $keyNeedle)
{
return $i;
}
$i++;
}
}
/* Time Range */
function getTimeRange($timeT, $timeCol){
$data = array();
foreach($timeT as $timeA){
$time = $timeA['time'];
if(!$time) continue;
$tm = explode("-", $time);
//echo '<pre>', print_r($tm,true) ,'</pre>';
$start = getCol($timeCol, $tm[0]);
$end = getCol($timeCol, $tm[1] );
$colspan = $end - $start;
$data[$tm[0]] = array('colspan' => $colspan, 'title' => $timeA['title']);
}
return $data;
}
$list = "";
echo '<table border="1" width="90%" align="center" cellspacing="0">';
echo '<tr><td> </td><td> </td>'. createCol( $timeArr ) .'</tr>';
foreach($timeTeach as $i=>$arr){
//ค้นหาข้อมูลในตารางลงทะเบียน
//นับช่วงเวลา start_time กับ stop_time ว่ามีกี่ช่อง
$timeT = $timeTeach[$i];
$arrRange = getTimeRange($timeT, $timeArr);
//echo '<pre>', print_r($arrRange,true) ,'</pre>';
$no = $i + 1;
$list = '<tr>';
$list.= '<td rowspan="2" class="no">'.$no.'</td>';
$list.= '<td>ลายเซ็น</td>';
$chkCol = 0;
$col = 0;
foreach( $timeArr as $timeA )
{
$highlight = "";
$colspan = "";
if($chkCol < ($col-1) && $col != 0){
$chkCol++;
continue;
}
$col = 0;
$chkCol = 0;
if(!empty($arrRange[trim($timeA['start'])])){
$col = $arrRange[trim($timeA['start'])]['colspan'];
$highlight = "highlight";
$colspan = 'colspan="'.$col.'"';
}
$list.= '<td '.$colspan.' class="'. $highlight .'"> </td>';
}
$list.= '</tr>';
$list.= '<tr>';
$list.= '<td>เอก/รุ่น/ห้อง</td>';
foreach( $timeArr as $timeA )
{
$highlight = "";
$colspan = "";
if($chkCol < ($col-1) && $col != 0){
$chkCol++;
continue;
}
$title = " ";
$col = 0;
$chkCol = 0;
if(!empty($arrRange[trim($timeA['start'])])){
$col = $arrRange[trim($timeA['start'])]['colspan'];
$title = $arrRange[trim($timeA['start'])]['title'];
$highlight = "highlight";
$colspan = 'colspan="'.$col.'"';
}
$list .= '<td '.$colspan.' class="'. $highlight .' title">' . $title . '</td>';
}
$list .= '</tr>';
echo $list;
}
echo '</table>';
?>
อัพเดตหัวข้อ เพิ่มเข้าไปในตาราง
|
ประวัติการแก้ไข 2013-05-02 13:35:42
|
|
|
|
Date :
2013-05-02 09:58:08 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับจะลองประยุกต์ดูครับ
|
|
|
|
|
Date :
2013-05-02 11:52:55 |
By :
wichasit |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
วนลูปค่าต่างในฐานข้อมูล มาเก็บในตัวแปร $timeTeach ให้ตรงกับที่ต้องการนะครับ
ซึ่งในทีนี้จะสร้างตัวแปรแค่ time กับ title สำหรับเก็บเวลา และ ชื่อบทเรียน
ซอร์สโค๊ดผมขออัพเดตด้านบนนะครับ เพื่อเป็นการประหยัดพื้นที่ ^^
|
|
|
|
|
Date :
2013-05-02 13:35:01 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$timeArr ถ้าต้องการดึงจากข้อมูล ตารางที่ 1
Code (PHP)
while($rs = mysql_fetch_assoc($result)){
$timeArr[$rs['id_time'] = array( "start" => $rs['start_time'], "stop" => $rs['start_time']);
}
id_time ถ้าเริ่มจาก 1 ในส่วนของ $timeTeach ก็ต้องมี คีย์ที่ตรงกัน
ในส่วนของ $timeTeach ดึงมาจากตารางที่ 1
Code (PHP)
while($rs = mysql_fetch_assoc($result)){
$timeArr[$rs['id_time'][] = array( "start" => $rs['start_time'], "stop" => $rs['start_time']);
}
ในส่วนนี้ $rs['start_time'] และ $rs['start_time'] ต้องตัดส่วนของ วินาทีออกไปด้วย
|
|
|
|
|
Date :
2013-05-02 14:03:45 |
By :
Naizan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้ววิธีทำให้ออกมาแสดงในหน้าจอเราแบบ มีinser ข้อมูลลงไปทำยังไงอะคับ วนขอผู้รู้ช่วยที่นะคับ
|
|
|
|
|
Date :
2013-06-15 00:38:34 |
By :
pathapong |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$timeArr ถ้าต้องการดึงจากข้อมูล ตารางที่ 2
while($rs = mysql_fetch_assoc($result)){
$timeArr[$rs['id_time']] = array( "start" => $rs['start_time'], "stop" => $rs['start_time']);
}
ในส่วนของ $timeTeach ดึงมาจากตารางที่ 1
while($rs = mysql_fetch_assoc($result)){
$timeArr[$rs['id_time']][] = array( "start" => $rs['start_time'], "stop" => $rs['start_time']);
}
ปล.
ตกไปตัวนึงกลับมาแก้ให้ครับ
มีคนนำโค๊ดนี้ไปรันแล้ว Error เลยขุดขึ้นมาแก้ซะเลย
|
|
|
|
|
Date :
2013-06-27 08:46:49 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เฮ้อ
|
|
|
|
|
Date :
2013-11-23 09:16:45 |
By :
เหนื่อยจจัง |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โทษนะครับ จากเลข 1 - 8 เปลี่ยนเป็นวัน จันทร์ ถึง ศุกร์ ได้ไง
|
|
|
|
|
Date :
2013-12-04 23:30:10 |
By :
t |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอดันหน่อยนะครับ
อยากทราบว่า เมื่อได้ตารางเรียนมาแร้ว ผมจะทำระบบขอเพิ่มรายวิชาอ่ะครับ คือเมื่อนักศึกษามาลงเพิ่มรายวิชาแล้ว อยากให้เช็คว่า รายวิชาที่ลงไปใหม่ มีการซ้ำกับตารางเรียน หรือ คาบเวลาชนกันกับตารางเรียนที่มีอยู่หรือไม่อ่ะครับ ช่วยแนะนำทีครับ
|
|
|
|
|
Date :
2014-07-09 11:46:12 |
By :
angelkiller9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโทษนะคับ หากเราต้องการจะใส่สีพื้นหลังของรายวิชาที่อยู่ในตาราง เราต้องเพิ่ม code ที่ส่วนใดคับ
|
|
|
|
|
Date :
2020-03-13 17:14:15 |
By :
chanumpon |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|