|
|
|
ช่วยแก้ปัญหา PHP ในการวน loop ดึงข้อมูลมาแสดงด้วยครับ |
|
|
|
|
|
|
|
พอดีเป็นมือใหม่หัดเขียน PHP ครับ อยากทราบว่าพอดีทำหน้ารายงาน ผลการลงทะเบียนแบบชุมนุมครับ แล้วทีนี้ทำหน้ารายงานผลนักเรียนที่ลงทะเบียนเป็นรายห้องไม่มีปัญหา user สามารถเลือกพิมพ์เป็นรายห้องได้ แต่ในกรณีที่ user ต้องการพิมพ์ทุกห้องทุกชั้นเรียน (ม.1-ม.6 ทุกห้องเรียน) มันมีปัญหาครับ
นี่คือตัวอย่างผลรายงานเป็นแบบรายห้อง
นี่คือปัญหาครับ อยากจะให้มันรายงานเหมือนแบบรายห้อง คือ เอาทั้ง ม.1-ม.6 มาต่อกันครับ แต่มันเป็นแบบนี้
จะต้องแก้ไขยังไงครับ ขอบคุณมากๆครับ
Code หน้ารายงานผลแบบทุกห้องครับ
Code (PHP)
<body>
<?function utf8_to_tis620($string) {
$str = $string;
$res = "";
for ($i = 0; $i < strlen($str); $i++) {
if (ord($str[$i]) == 224) {
$unicode = ord($str[$i+2]) & 0x3F;
$unicode |= (ord($str[$i+1]) & 0x3F) << 6;
$unicode |= (ord($str[$i]) & 0x0F) << 12;
$res .= chr($unicode-0x0E00+0xA0);
$i += 2;
} else {
$res .= $str[$i];
}
}
return $res;
}
function substr_utf8( $str, $start_p , $len_p) {
$str_post = "";
if(strlen(utf8_to_tis620($str)) > $len_p)
{
$str_post = "...";
}
return preg_replace( '#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$start_p.'}'.
'((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len_p.'}).*#s',
'$1' , $str ) . $str_post;
}; ?>
<? $link=mysql_connect($dbserver, $dbuser, $dbpass); ?>
<?
$name_session = $dbname;
//echo $name_session;
$chk_member = $_SESSION[$name_session];
$cmd="select * from detail_std_2557_1 order by no_std ";
mysql_select_db($dbname,$link);
mysql_query("set NAMES utf8 ");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
$result = mysql_query( $cmd , $link );
$num_rows=mysql_num_rows($result);
// $total =mysql_num_rows($result);
if ($num_rows == 0){
// $ti_news = "";
// $detail = "";
}else {
$a = 1;
$top = $top + 18;
while ($row = mysql_fetch_array($result)) {
$order = $row["no_std"];
$code_std = $row["code_std"];
$prefix_std = $row["prefix_std"];
$name_std = $row["name_std"];
$surname_std = $row["surname_std"];
$class_std = $row["class_std"];
$room_std = $row["room_std"];
$mix_name = $prefix_std . $name_std . ' ' . $surname_std;
$cmd2 = "select * from list_acti_std where code_std = '$code_std' ";
mysql_select_db($dbname, $link);
mysql_query("set NAMES utf8 ");
mysql_query("SET character_set_results=utf8");
mysql_query("SET character_set_client=utf8");
mysql_query("SET character_set_connection=utf8");
$result2 = mysql_query($cmd2, $link);
$num_rows2 = mysql_num_rows($result2);
if ($num_rows2 == 0) {
$name_tea = '';
$name_acti = '';
$yo_acti = '';
} else {
$row2 = mysql_fetch_array($result2);
$name_tea = $row2['name_tea'];
$name_acti = $row2['list_acti'];
$yo_acti = substr_utf8($name_acti, 0, 60);
}
?>
<table width="670" border="0" align="center" cellpadding="3" cellspacing="0" class="th_niramit_as">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td align="center"><img src="images/tplogo.jpg" width="80" height="80"/></td>
<td align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<th align="left">โรงเรียนธาตุพนม สำนักงานเขตพื้นที่การศึกษามัธยมศึกษา เขต 22</th>
</tr>
<tr>
<?php $mix_class = $class_std.' / '.$room_std; ?>
<th align="left">ผลการลงทะเบียนกิจกรรมชุมนุม ชั้นมัธยมศึกษาปีที่
<? echo $mix_class ?>
</th>
</tr>
<tr>
<th align="left">ภาคเรียนที่ 1 ปีการศึกษา 2559</th>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="700" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td>
<table width="700" border="0" align="center" cellpadding="3" cellspacing="0"
style="border-top:#000000 1px solid; border-right:#000000 1px solid; border-left:#000000 1px solid;">
<tr>
<th width="40" align="center" style="border-bottom:#000000 1px solid; border-right:#000000 1px solid;">เลขที่</th>
<th width="100" align="center" style="border-bottom:#000000 1px solid;">เลขประจำตัว</th>
<th width="265" align="center" style="border-bottom:#000000 1px solid; border-left:#000000 1px solid;">ชื่อ - สกุล</th>
<th width="175" align="center" style="border-bottom:#000000 1px solid; border-left:#000000 1px solid;">ชื่อกิจกรรมชุมนุม</th>
<th width="175" align="center" style="border-bottom:#000000 1px solid; border-left:#000000 1px solid;">ครูผู้สอน</th>
</tr>
<tr>
<td align="center" style="border-bottom:#000000 1px solid; border-right:#000000 1px solid;"><?php echo $a ?></td>
<td align="center" style="border-bottom:#000000 1px solid;">
<?php echo $code_std ?> </td>
<td align="left" style="border-bottom:#000000 1px solid; border-left:#000000 1px solid;"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="130" align="left"><?php echo $mix_name ?></td>
</tr>
</table></td>
<td align="center" style="border-bottom:#000000 1px solid; border-left:#000000 1px solid;"><?php echo $yo_acti?></td>
<td align="center" style="border-bottom:#000000 1px solid; border-left:#000000 1px solid;"><?php echo $name_tea ?></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="700" border="0" align="center" cellpadding="3" cellspacing="0">
<tr>
<td align="right">จำนวนนักเรียนที่ลงทะเบียนทั้งสิ้น <?php echo $num_rows ?> คน</td>
</tr>
<!-- <tr>
<?php /*
$thai_day_arr=array("อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์");
$thai_month_arr=array(
"0"=>"",
"1"=>"มกราคม",
"2"=>"กุมภาพันธ์",
"3"=>"มีนาคม",
"4"=>"เมษายน",
"5"=>"พฤษภาคม",
"6"=>"มิถุนายน",
"7"=>"กรกฎาคม",
"8"=>"สิงหาคม",
"9"=>"กันยายน",
"10"=>"ตุลาคม",
"11"=>"พฤศจิกายน",
"12"=>"ธันวาคม"
);
function thai_date($time){
global $thai_day_arr,$thai_month_arr;
$thai_date_return="วัน".$thai_day_arr[date("w",$time)];
$thai_date_return.= "ที่ ".date("j",$time);
$thai_date_return.=" เดือน".$thai_month_arr[date("n",$time)];
$thai_date_return.= " พ.ศ.".(date("Yํ",$time)+543);
return $thai_date_return;
}
?>
<? $eng_date=time(); */?>
</tr> <!-->
</table>
</td>
</tr>
</table>
<? if($a>=35) {
echo "<div style='page-break-before: always;'></div>";
} ?>
<? $a++; ?>
<? } ?>
<? } ?>
Tag : PHP, HTML/CSS, JavaScript, Ajax, jQuery
|
|
|
|
|
|
Date :
2016-05-12 20:44:12 |
By :
chiradet2544 |
View :
1324 |
Reply :
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
for($mat=1; $mat<=6; $mat++){
$sql="select distinct room_no from tb_student where class_no=$mat";
$rs=$db->query($sql);
while($ro=$rs->fetch_assoc()){
$room_no = $ro['room_ro'];
$class_no = $mat;
// เข้าสู่โค๊ดแสดงรายงานรายห้อง เอาโค๊ดเก่ามาใส่ตรงนี้
// เมื่อโค๊ดเก่ามันใช้งานได้ ก็แค่จับมาใส่ตรงนี้ครับ
}
echo "<div class="pagebreak"></div>";
}
ตัวอย่างโค๊ดผมใช้ mysqli ก็แปลงเอานะครับ
|
|
|
|
|
Date :
2016-05-13 17:25:37 |
By :
Chaidhanan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอมีตารางมา where ก็มา #จบ
|
|
|
|
|
Date :
2016-05-14 09:00:47 |
By :
Kin-Kee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2016-05-16 09:56:15 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|