|
|
|
ทำตารางแยกตามหมวดหมู่และวันที่ใช้ PHP ผลออกมาเพี้ยน ช่วยดูหน่อยค่ะ |
|
|
|
|
|
|
|
ต้องการให้เป็นแบบนี้
Code (PHP)
$myselect = mysql_query("SELECT
reason.ReasonName,
tblexam.EXAMDATE,
tblexam.EXAMTIME,
prefix.PREFIXABB,
studentmaster.STUDENTNAME,
studentmaster.STUDENTSURNAME,
studentmaster.STUDENTCODE,
program.PROGRAMNAME,
course.COURSENAMEENG
FROM reason, formlate, tblexam, studentmaster, prefix, program, course
WHERE reason.ReasonID = formlate.ReasonID AND formlate.CLASSID = tblexam.CLASSID AND formlate.COURSEID = formlate.COURSEID AND formlate.ROOMID = formlate.ROOMID AND prefix.PREFIXID = studentmaster.PREFIXID AND formlate.STUDENTID = studentmaster.STUDENTID AND program.PROGRAMID = studentmaster.PROGRAMID AND course.COURSEID = tblexam.COURSEID
GROUP BY reason.ReasonID,studentmaster.STUDENTID
ORDER BY reason.ReasonID ASC");
function DateThai($strDate){
$strYear = date("Y",strtotime($strDate))+543;
$strMonth= date("n",strtotime($strDate));
$strDay= date("j",strtotime($strDate));
$strMonthCut = Array("","มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม");
$strMonthThai=$strMonthCut[$strMonth];
return "$strDay $strMonthThai $strYear";
}
function MorningEvening($strTime){
if ($strTime == '08:30:00'){
return " (เช้า)";
}else {
return " (บ่าย)";
}
}
?>
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>รายงานการเข้าสอบสาย</title>
<body>
<h1>รายงานการเข้าสอบสาย (ตามสาเหตุการมาสาย)</h1>
<?php $i =1;
while($rowfet = mysql_fetch_array($myselect)){
?>
<h2><?php echo $rowfet['ReasonName']; ?></h2>
<h3><?php echo DateThai($rowfet['EXAMDATE']) . ' ' . MorningEvening($rowfet['EXAMTIME']); ?></h3>
<table width="100%" border="1">
<thead>
<tr class="active">
<th width="5%">ลำดับ</th>
<th width="15%">รหัสนักศึกษา</th>
<th width="23%">ชื่อ - สกุล</th>
<th width="25%">สาขาวิชา</th>
<th>วิชาที่เข้าสอบ</th>
</tr>
</thead>
<tbody>
<tr>
<td align="center"><?php echo $i; ?></td>
<td><?php echo $rowfet['STUDENTCODE']; ?></td>
<td><?php echo $rowfet['PREFIXABB'] . $rowfet['STUDENTNAME'] . ' '.$rowfet['STUDENTSURNAME']; ?></td>
<td><?php echo $rowfet['PROGRAMNAME']; ?></td>
<td><?php echo $rowfet['COURSENAMEENG']; ?></td>
</tr>
</tbody>
</table>
<?php $i++; } ?>
</body>
</html>
รบกวนด้วยค่ะ
Tag : PHP, MySQL, HTML/CSS
|
ประวัติการแก้ไข 2015-04-22 16:15:39
|
|
|
|
|
Date :
2015-04-21 15:58:43 |
By :
ibearkp |
View :
1487 |
Reply :
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
$period_list = array(
'00-05 เข้ามืด','00-05','00-05','00-05','00-05','00-05',
'06-08 เช้า','06-08','06-08',
'09-11 สาย','09-11','09-11',
'09-12 เที่ยง',
'13-......'
); // ใส่ชื่อช่วงเวลาเอาเองนะครับ 00 - 23 นาฬิกา หรือจะทำเป็น function ก็ได้ตามสดวก
$old_period='';
while($ro=$rs->fetch_assoc()){
$pre_time = intval( date('H', strtotime($ro['dte'])) );
$period = date('Y-m-d', strtotime($ro['dte']) ) . $period_list[ $pre_time ];
if( $old_period!==$period){
if( $old_period>'' ) print_bottom(); //ไม่ใช่ รายการแรก
print_head();
$old_period = $period;
}
print_current_record();
}
if( $old_period>'') print_bottom(); // มีเรคคอร์ด
print_head, print_current_record, print_bottom เป็น ส่วนที่ต้องคิดเอาเองนะครับ (ที่คุณเขียนมาแล้วนั่นแหล่ะ)
ลองดู flow control ในการทำงาน เป็นตัวอย่างนะครับ
|
ประวัติการแก้ไข 2015-04-21 22:06:38
|
|
|
|
Date :
2015-04-21 22:05:41 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
function print_head( $ro){
?>
<h2><?=$ro['ReasonName']?></h2>
<h3><?=DateThai($ro['EXAMDATE']) . ' ' . MorningEvening($ro['EXAMTIME'])?></h3>
<table width="100%" border="1">
<thead>
<tr class="active">
<th width="5%">ลำดับ</th>
<th width="15%">รหัสนักศึกษา</th>
<th width="23%">ชื่อ - สกุล</th>
<th width="25%">สาขาวิชา</th>
<th>วิชาที่เข้าสอบ</th>
</tr>
</thead>
<tbody>
<?php
}
function print_current_record($ro, $i){
?>
<tr>
<td align="center"><?=$i?></td>
<td><?=$ro['STUDENTCODE']?></td>
<td><?=$ro['PREFIXABB'] . $ro['STUDENTNAME'] . ' '.$ro['STUDENTSURNAME']?></td>
<td><?=$ro['PROGRAMNAME']?></td>
<td><?=$ro['COURSENAMEENG']?></td>
</tr>
<?php
}
function print_bottom(){
?>
</tbody>
</table>
<?php
}
|
|
|
|
|
Date :
2015-04-22 19:13:05 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|