Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ช่วยแก้ปัญหา PHP ในการวน loop ดึงข้อมูลมาแสดงด้วยครับ



 

ช่วยแก้ปัญหา PHP ในการวน loop ดึงข้อมูลมาแสดงด้วยครับ

 



Topic : 122890



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์




พอดีเป็นมือใหม่หัดเขียน PHP ครับ อยากทราบว่าพอดีทำหน้ารายงาน ผลการลงทะเบียนแบบชุมนุมครับ แล้วทีนี้ทำหน้ารายงานผลนักเรียนที่ลงทะเบียนเป็นรายห้องไม่มีปัญหา user สามารถเลือกพิมพ์เป็นรายห้องได้ แต่ในกรณีที่ user ต้องการพิมพ์ทุกห้องทุกชั้นเรียน (ม.1-ม.6 ทุกห้องเรียน) มันมีปัญหาครับ

นี่คือตัวอย่างผลรายงานเป็นแบบรายห้อง
per_class

นี่คือปัญหาครับ อยากจะให้มันรายงานเหมือนแบบรายห้อง คือ เอาทั้ง ม.1-ม.6 มาต่อกันครับ แต่มันเป็นแบบนี้
per_class_all
จะต้องแก้ไขยังไงครับ ขอบคุณมากๆครับ

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.=" &nbsp;เดือน".$thai_month_arr[date("n",$time)];
                                $thai_date_return.= " &nbsp;พ.ศ.".(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







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-05-12 20:44:12 By : chiradet2544 View : 1274 Reply : 7
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Quote:
$cmd="select * from detail_std_2557_1 order by no_std ";



น่าจะเพิ่มเงื่อนไข where ตรงนี้ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-13 09:23:41 By : mr.win
 


 

No. 2

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2016-05-13 09:23:41
รายละเอียดของการตอบ ::
ต้อง where เงื่อนไขอะไรครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-13 12:33:29 By : Chiradet2544
 

 

No. 3

Guest


ตอบความคิดเห็นที่ : 2 เขียนโดย : Chiradet2544 เมื่อวันที่ 2016-05-13 12:33:29
รายละเอียดของการตอบ ::
พี่ออกแบบตารางอะไรไว้แบบไหน ถ้าพี่ไม่เอามาบอก คนเขาจะ where เงื่อนไขให้พี่ถูกไหม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-13 13:02:53 By : Kin-Kee
 


 

No. 4



โพสกระทู้ ( 18 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : Kin-Kee เมื่อวันที่ 2016-05-13 13:02:53
รายละเอียดของการตอบ ::
รูปแบบตารางครับ
sqqq

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-13 17:03:39 By : chiradet2544
 


 

No. 5



โพสกระทู้ ( 9,556 )
บทความ ( 2 )



สถานะออฟไลน์


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
 


 

No. 6

Guest


พอมีตารางมา where ก็มา #จบ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-14 09:00:47 By : Kin-Kee
 


 

No. 7



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-05-16 09:56:15 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยแก้ปัญหา PHP ในการวน loop ดึงข้อมูลมาแสดงด้วยครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่