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

Registered : 106,783

HOME > PHP > PHP Forum > [HELP] ผมจะใช้ while loop 2-3 ชั้นใน PDF ควรทำอย่างไรครับ มันไม่เหมือนกับที่รัน HTML ?


 

[HELP] ผมจะใช้ while loop 2-3 ชั้นใน PDF ควรทำอย่างไรครับ มันไม่เหมือนกับที่รัน HTML ?

 



Topic : 132811



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



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




สวัสดีครับ
ต้องบอกก่อนว่าสิ่งที่ผมทำผมต้องการทำ Table แบบ rowspan="จำนวน record"
แต่ปัญหามันไม่ได้อยู่ตรงนี้ แต่เป็นการเอาไปใช้ในหน้า PDF ครับ ผมเลยไม่รู้จะแก้อย่างไงแล้ว
อยากจะรบกวนผู้รู้ช่วยผมทีครับ คือลองพยายามทำแล้วแต่ก็ยังไม่ได้เลย

อันนี้ผมใช้อยู่ คือรันบน HTML ก็ใช้งานได้ปกติ
ตัวอย่างตอนรันบน เป็น HTML ปกติ


ส่วนนี้คือส่วนที่เป็น HTML ก่อนจะแปลงเป็น PDF
หลังจากแปลงแล้ว


ทีนี้ลองแปลงเป็น PDF กลับกลายเป็นแบบนี้
ก่อนแปลง pdf2

Code (PHP)
<table id="table-list" width="100%">
                <tr>
                    <th><p>Item</p></th>
                    <th><p>Model</p></th>
                    <th><p>Imei</p></th>
                    <th><p>Symptom</p></th>
                    <th><p>Description</p></th>
                    <th><p>Qty.</p></th>
                    <th><p>Price(THB)</p></th>
                    <th><p>Amount(THB)</p></th>
                </tr>
                <?php
                $i = 1;
                $sql_select = "SELECT qt_quotation_list.* FROM qt_quotation_list
                WHERE Quot_No = '".$rs['Quot_No']."'
                GROUP BY Qlist_Imei";
                $query_select = mysqli_query($conn, $sql_select);
           

                while($row = mysqli_fetch_array($query_select))
                {
                    $sql_check ="SELECT qt_quotation_list.* FROM qt_quotation_list
                    WHERE Quot_No = '".$rs['Quot_No']."' AND Qlist_Imei = '".$row['Qlist_Imei']."'";
                    $query_check = mysqli_query($conn, $sql_check);
                    $rowSpan= mysqli_num_rows($query_check);
                ?>
                <tr class="text-center">
                    <td rowspan="<?= $rowSpan?>" class="text-center" width="40px"><p><?= $i?></p></td>
                    <td rowspan="<?= $rowSpan?>" class="text-center"><p><?= $row['Qlist_Model']?></p></td>
                    <td rowspan="<?= $rowSpan?>" class="text-center"><p><?= $row['Qlist_Imei']?></p></td>
                    <?php
                    $sql_select2 = "SELECT * FROM qt_quotation_list
                    WHERE Qlist_Imei = '".$row['Qlist_Imei']."' AND Quot_No = '".$rs['Quot_No']."'
                    GROUP BY Qlist_Symptom";
                    $query_select2 = mysqli_query($conn, $sql_select2);

                    while($row = mysqli_fetch_array($query_select2))
                    {
                        $sql_check2 ="SELECT qt_quotation_list.* FROM qt_quotation_list
                        WHERE Quot_No = '".$rs['Quot_No']."' AND Qlist_Imei = '".$row['Qlist_Imei']."' AND Qlist_Symptom = '".$row['Qlist_Symptom']."'";
                        $query_check2 = mysqli_query($conn, $sql_check2);
                        $rowSpan2= mysqli_num_rows($query_check2);
                        ?>
                        
                        <td rowspan="<?=$rowSpan2?>" class="text-left"><p><?= $row['Qlist_Symptom']?></p></td>

                        <?php
                          $sql_select3 = "SELECT * FROM qt_quotation_list
                          WHERE Qlist_Symptom = '".$row['Qlist_Symptom']."' AND Quot_No = '".$rs['Quot_No']."' AND Qlist_Imei = '".$row['Qlist_Imei']."'";
                          $query_select3 = mysqli_query($conn, $sql_select3);
                          while($row = mysqli_fetch_array($query_select3))
                          {
                        ?>
                            <td class="text-left" min-width="300px"><p><?= $row['Qlist_Description']?></p></td>
                            <td class="text-center" width="10px"><p><?= $row['Qlist_Qty']?></p></td>
                            <td class="text-right" width="10px"><p><?= $row['Qlist_Price']?></p></td>
                            <td class="text-right" width="10px"><p><?= $row['Qlist_Amount']?></p></td> 
                    </tr>
                <?php
                          }
                    }
                $i++;
                }
                ?>
           
            </table>





Tag : PHP, MySQL, HTML, PDF







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2018-12-21 10:25:35 By : instincthacker View : 96 Reply : 9
 

 

No. 1



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

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

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


ต้องไล่ แท็กให้ดีๆ นะครับ

html ตอนแสดงเป็น pdf ผิดนิดผิดหน่อย ไม่ได้เลยนะ

แค่ลืม <td></td ใน html ธรรมดาแสดงผลนะ
แต่ใน pdf ไม่แสดงเลยนะ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 10:57:35 By : Pong Thep
 


 

No. 2



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



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


ลองย้าย </tr> ให้อยู่ตาม loop ที่มันควรจะเป็นดูครับ

Code (PHP)
<table id="table-list" width="100%">
	<tr>
		<th><p>Item</p></th>
		<th><p>Model</p></th>
		<th><p>Imei</p></th>
		<th><p>Symptom</p></th>
		<th><p>Description</p></th>
		<th><p>Qty.</p></th>
		<th><p>Price(THB)</p></th>
		<th><p>Amount(THB)</p></th>
	</tr>
	<?php
	$i = 1;
	$sql_select = "SELECT qt_quotation_list.* FROM qt_quotation_list
	WHERE Quot_No = '".$rs['Quot_No']."'
	GROUP BY Qlist_Imei";
	$query_select = mysqli_query($conn, $sql_select);

	while($row = mysqli_fetch_array($query_select))
	{
		$sql_check ="SELECT qt_quotation_list.* FROM qt_quotation_list
		WHERE Quot_No = '".$rs['Quot_No']."' AND Qlist_Imei = '".$row['Qlist_Imei']."'";
		$query_check = mysqli_query($conn, $sql_check);
		$rowSpan= mysqli_num_rows($query_check);
	?>
		<tr class="text-center">
			<td rowspan="<?= $rowSpan?>" class="text-center" width="40px"><p><?= $i?></p></td>
			<td rowspan="<?= $rowSpan?>" class="text-center"><p><?= $row['Qlist_Model']?></p></td>
			<td rowspan="<?= $rowSpan?>" class="text-center"><p><?= $row['Qlist_Imei']?></p></td>
		<?php
		$sql_select2 = "SELECT * FROM qt_quotation_list
		WHERE Qlist_Imei = '".$row['Qlist_Imei']."' AND Quot_No = '".$rs['Quot_No']."'
		GROUP BY Qlist_Symptom";
		$query_select2 = mysqli_query($conn, $sql_select2);

		while($row = mysqli_fetch_array($query_select2))
		{
			$sql_check2 ="SELECT qt_quotation_list.* FROM qt_quotation_list
			WHERE Quot_No = '".$rs['Quot_No']."' AND Qlist_Imei = '".$row['Qlist_Imei']."' AND Qlist_Symptom = '".$row['Qlist_Symptom']."'";
			$query_check2 = mysqli_query($conn, $sql_check2);
			$rowSpan2= mysqli_num_rows($query_check2);
	?>

			<td rowspan="<?=$rowSpan2?>" class="text-left"><p><?= $row['Qlist_Symptom']?></p></td>

	<?php
			$sql_select3 = "SELECT * FROM qt_quotation_list
			WHERE Qlist_Symptom = '".$row['Qlist_Symptom']."' AND Quot_No = '".$rs['Quot_No']."' AND Qlist_Imei = '".$row['Qlist_Imei']."'";
			$query_select3 = mysqli_query($conn, $sql_select3);
			while($row = mysqli_fetch_array($query_select3))
			{
	?>
				<td class="text-left" min-width="300px"><p><?= $row['Qlist_Description']?></p></td>
				<td class="text-center" width="10px"><p><?= $row['Qlist_Qty']?></p></td>
				<td class="text-right" width="10px"><p><?= $row['Qlist_Price']?></p></td>
				<td class="text-right" width="10px"><p><?= $row['Qlist_Amount']?></p></td> 
	<?php
			}
		}
	?>
		</tr>
	<?php
		$i++;
	}
	?>
</table>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 11:02:08 By : Jatmentz
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : Jatmentz เมื่อวันที่ 2018-12-21 11:02:08
รายละเอียดของการตอบ ::
ลองทำตามที่บอกแล้วครับ ผลออกมายังไม่ได้เหมือนเดิม

HTML
ฟ

PDF
s

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 11:55:03 By : instincthacker
 


 

No. 4



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



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


Update เหมือนกับเปลี่ยนปัญหาจากตรงนี้ แต่ไม่รู้จะทำให้มันอยู่ใน loop อย่างไง
a
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 11:59:30 By : instincthacker
 


 

No. 5



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



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


แนะนำ ใส่เป็น table เข้าไปใน td ครับ อย่าทำ rowspan ไม่ work

และถ้าจะทำ colspan ให้กำหนด width โดยตรง ให้เท่ากับ ขนาดของ 2 column

Code (XML)
<table border="1" bordercolor="white">
<tr><td width="50%" >w 50%</td><td width="25%">W 25</td><td width="25%"></tr>
<tr><td width="25%">w 25</td><td width="75%">
  <table border="0">
  <tr>
    <td width="50%" style="border-right: 1px solid white">w 50</td>
    <td width="25%" style="border-right: 1px solid white">W 25</td>
    <td width="25%" >W 25</tr>
  </table>
</td></tr>
</table>



ปล. แยกกัน PDF กับ HTML
คล้ายกันแต่ไม่เหมือนกัน


ประวัติการแก้ไข
2018-12-21 13:07:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 13:02:14 By : Chaidhanan
 


 

No. 6

Guest


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-12-21 13:02:14
รายละเอียดของการตอบ ::
ถ้าทำแบบนั้นแล้วตารางข้างในที่เป็นสีเข้มจะทำอย่างไงหรอครับ คือถ้าใช้ style="border:0px" เส้นมันจะหายหมดเลย อยากให้เส้นมันแสดงแค่เฉพาะ ตรงกลางระหว่างบรรทัดข้างใน
table

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 14:06:19 By : teerach
 


 

No. 7



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



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


border-left: border-right: border-top: border-bottom:
กำหนด เองเลยครับ ดูที่ตัวอย่างผมก็ลงให้ดูอะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 14:52:42 By : Chaidhanan
 


 

No. 8

Guest


ตอบความคิดเห็นที่ : 5 เขียนโดย : Chaidhanan เมื่อวันที่ 2018-12-21 13:02:14
รายละเอียดของการตอบ ::
ลองทำตามวิธีนี้แล้วตันแล้วค้าบ = =
123


Code (PHP)
<table id="table-list" width="100%">
                <tr>
                    <th><p>Item</p></th>
                    <th><p>Model</p></th>
                    <th><p>Imei</p></th>
                    <th><p>Symptom</p></th>
                    <th><p>Description</p></th>
                    <th><p>Qty.</p></th>
                    <th><p>Price(THB)</p></th>
                    <th><p>Amount(THB)</p></th>
                </tr>
                <?php
                $i = 1;
                $sql_select = "SELECT qt_quotation_list.* FROM qt_quotation_list
                WHERE Quot_No = '".$rs['Quot_No']."'
                GROUP BY Qlist_Imei";
                $query_select = mysqli_query($conn, $sql_select);
           

                while($row = mysqli_fetch_array($query_select))
                {

                ?>
                <tr class="text-center">
                    <td  class="text-center" width="40px"><p><?= $i?></p></td>
                    <td class="text-center"><p><?= $row['Qlist_Model']?></p></td>
                    <td  class="text-center"><p><?= $row['Qlist_Imei']?></p></td>
                    <td style="padding:0px;">
                        <table id="table-list-sub" border="0" width="100%">
                        <?php
                        $sql_select2 = "SELECT * FROM qt_quotation_list
                        WHERE Qlist_Imei = '".$row['Qlist_Imei']."' AND Quot_No = '".$rs['Quot_No']."'";
                        $query_select2 = mysqli_query($conn, $sql_select2);
                        $n1 = 1;
                        while($row = mysqli_fetch_array($query_select2))
                        {
                        ?>
                            <tr class="sub-line">
                                <td class="text-left <?php
                                if($n1>=2){echo 'underline';}
                                ?>"><p><?= $row['Qlist_Symptom']?></p></td>
                            </tr>
                           
                            <?php
                            $n1++;
                        }
                        ?>
                        </table>
                    </td>
                    <td style="padding:0px;">
                        <table id="table-list-sub" border="0" width="100%">
                        <?php
                        $sql_select3 = "SELECT * FROM qt_quotation_list
                        WHERE Qlist_Imei = '".$row['Qlist_Imei']."' AND Quot_No = '".$rs['Quot_No']."'";
                        $query_select3 = mysqli_query($conn, $sql_select3);
                        $n2 = 1;
                        while($row2 = mysqli_fetch_array($query_select3))
                        {
                        ?>
                            <tr class="sub-line">
                                <td class="text-left <?php
                                if($n1>=2){echo 'underline';}
                                ?>"><p><?= $row2['Qlist_Description']?></p></td>
                            </tr>
                           
                            <?php
                            $n2++;
                        }
                        ?>
                        </table>
                    </td>
      
                </tr>
                <?php
                $i++;
                }
                ?>
           
            </table>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 17:17:14 By : teerach
 


 

No. 9



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



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


$query_select2 = mysqli_query($conn, $sql_select2);
$n1 = 1;
while($row = mysqli_fetch_array($query_select2))

ตัวแปรสีแดงมันไปทับ ตัวแปร ข้างบน เปลี่ยนให้เป็น $row1 ซะ

และควรจะ เก็บข้อมูล เป็น array ไว้ก่อน พอเปลี่ยนชุดที่ต่างกัน ค่อยเอาออกมา พิมพ์

ปล. มันมีคำสั่ง เลือน indicator ไปที่จุดเริ่มต้นใหม่ เพื่อที่จะได้ไม่ต้องคิวรี่ 2 ครั้ง
http://php.net/manual/en/mysqli-result.data-seek.php


ประวัติการแก้ไข
2018-12-21 18:13:37
2018-12-21 18:19:44
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-12-21 18:11:27 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : [HELP] ผมจะใช้ while loop 2-3 ชั้นใน PDF ควรทำอย่างไรครับ มันไม่เหมือนกับที่รัน HTML ?
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, vps | เช่า vps , รับทำเว็บไซต์ รับเขียนโปรแกรม

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