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,037

HOME > PHP > PHP Forum > [สอบถาม] ให้แสดงข้อมูลใน table เมื่อ เจอข้อมูลซ้ำ ให้ rowspan ตามจำนวนที่ซ้ำ ยังไงครับ



 

[สอบถาม] ให้แสดงข้อมูลใน table เมื่อ เจอข้อมูลซ้ำ ให้ rowspan ตามจำนวนที่ซ้ำ ยังไงครับ

 



Topic : 137188



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



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



capture2.png

จากรูปด้านบน ผมอยากให้ข้อมูล ออกมา เป็นรุปเหมือนด้านล่างต้องทำยังไงครับ

ขอคำแนะนำด้วยครับหรือตัวอย่างก็ได้ครับ ขอบคุณครับ

ex4

code html ครับ

Code (PHP)
<tbody>
                                                <?php
                                                //!! มีข้อมูล
                                                if ($total_record > 0) {
                                                    $intRows = 1 + $wf_offset;
                                                    while ($row = db::fetch_array($query_main)) {
                                                ?>
                                                        <tr>
                                                            <td class="text-center">
                                                                <?php echo $intRows ?>
                                                            </td>
                                                            <td><?php echo $row['SYSTEMS_NAME']?></td>
                                                            <td><?php echo $row['USER_TYPE_NAME'] ?></td>
                                                            <td><?php echo $row['PER_TYPE_NAME'] ?></td>
                                                        </tr>
                                                <?php $intRows++;
                                                    }
                                                }  ?>
                                            </tbody>



ผมลองทำแบบนี้แล้วมันเพี้ยน

Code (PHP)
<tbody>
                                                <?php
                                                //!! มีข้อมูล
                                                if ($total_record > 0) {
                                                    $intRows = 1 + $wf_offset;
                                                    $prev_system = null;
                                                    $prev_user_type = "";
                                                    $prev_per_type = "";
                                                    $rowspan_count = 0;
                                                    while ($row = db::fetch_array($query_main)) {
                                                        
                                                        // ตรวจสอบว่าข้อมูลระบบเดิมหรือไม่
                                                        if ($row['SYSTEMS_NAME'] == $prev_system) {
                                                            $rowspan_count++;
                                                            echo '<tr>';
                                                            echo '<td class="text-center" rowspan="' . $rowspan_count . '">' . $intRows . '</td>';
                                                            echo '<td rowspan="' . $rowspan_count . '">' . $row['SYSTEMS_NAME'] . '</td>';
                                                            echo '<td>' . $row['USER_TYPE_NAME'] . '</td>';
                                                            echo '<td>' . $row['PER_TYPE_NAME'] . '</td>';
                                                            echo '</tr>';
                                                        } else {
                                                            // แสดงแถวใหม่เมื่อพบระบบใหม่
                                                            if ($prev_system !== null) {
                                                                echo '<tr>';
                                                                echo '<td class="text-center">' . $intRows . '</td>';
                                                                echo '<td>' . $row['SYSTEMS_NAME'] . '</td>';
                                                                echo '<td>' . $row['USER_TYPE_NAME'] . '</td>';
                                                                echo '<td>' . $row['PER_TYPE_NAME'] . '</td>';
                                                                echo '</tr>';
                                                                $intRows++;
                                                            }
                                                            // รีเซ็ตค่าใหม่เมื่อพบระบบใหม่
                                                            $prev_system = $row['SYSTEMS_NAME'];
                                                            $prev_user_type = $row['USER_TYPE_NAME'];
                                                            $prev_per_type = $row['PER_TYPE_NAME'];
                                                            $rowspan_count = 1;
                                                        }
                                                    }
                                                    // แสดงข้อมูลสุดท้าย
                                                    echo '<tr>';
                                                    echo '<td class="text-center" rowspan="' . $rowspan_count . '">' . $intRows . '</td>';
                                                     echo '<td rowspan="' . $rowspan_count . '">' . $prev_system . '</td>';
                                                     echo '<td>' . $prev_user_type . '</td>';
                                                    echo '<td>' . $prev_per_type . '</td>';
                                                    echo '</tr>';
                                                }
                                                ?>




Tag : PHP, MySQL, HTML, CSS, HTML5









ประวัติการแก้ไข
2024-04-18 17:51:53
2024-04-18 17:53:44
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2024-04-18 17:51:01 By : nutzaaclub View : 306 Reply : 3
 

 

No. 1



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



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


สร้างตัวแปร มาบันทึก ครั้งล่าสุด

Code (PHP)
$last_nm='';
while ( $ro=xxxxxxx){
?>
<tr>
  <td><?=$last_nm!==$ro->name ? $last_nm=$ro->name : '' ?></td>
  <td><?=$ro->desc?></td>
</tr>
<?php
}









ประวัติการแก้ไข
2024-04-19 06:29:56
2024-04-19 06:30:46
2024-04-19 06:31:33
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2024-04-19 06:29:23 By : Chaidhanan
 


 

No. 2



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



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

มันมีอยู่ใน Stack Overflow ค้นหาดู

ถ้า ( row == row){
row span
}else{
new row
}

จำ Link ไม่ได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2024-05-08 11:09:33 By : Hararock
 

 

No. 3



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



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

array rowspan table mysql in php
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2024-05-08 11:17:47 By : Hararock
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [สอบถาม] ให้แสดงข้อมูลใน table เมื่อ เจอข้อมูลซ้ำ ให้ rowspan ตามจำนวนที่ซ้ำ ยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 03
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 อัตราราคา คลิกที่นี่