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

HOME > PHP > PHP Forum > โค้ดแบ่งหน้า ย่อจำนวนหน้าไม่ได้ค่ะ เวลาที่หน้า page เยอะๆ รบกวนช่วยหน่อยนะคะ


[PHP] โค้ดแบ่งหน้า ย่อจำนวนหน้าไม่ได้ค่ะ เวลาที่หน้า page เยอะๆ รบกวนช่วยหน่อยนะคะ

 
Topic : 073116



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



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



มันจะขึ้นหน้ายาวไปเรื่อยๆเลยค่ะ อยากได้แบบ " หน้า 1 2 3 ... 20 21 " ประมาณนี้อ่าค่ะ

อันนี้คือปัจจุบันที่เขียนอยู่ค่ะ เลขหน้าจะยาวไปเรื่อยๆ
sdfwerwer


อยากได้แบบด้านล่างอ่าค่ะ ลองดูโค้ดของทาง ด้านล่างแล้วค่ะ
https://www.thaicreate.com/community/php-mysql-pagination.html
แต่ว่าไม่รู้ว่าต้องเขียนอะไรเพิ่มตรงไหน เขียนแทรกไปตรงไหน รบกวนท่านผู้รู้ข่วยหน่อยนะคะ ขอบคุณค่ะ

โค้ดตอนนี้ค่ะ ต้องเพิ่มตรงไหนคะ
001.<?php
002.    session_start();
003.    include ("connect/connect.inc");
004.     
005.    //จำนวนรายการต่อหน้า
006.    $perpages = 2;
007. 
008.    //รับค่าที่ได้จากการกดลิงค์หน้าต่างๆ
009.    $gpages = $_GET["pages"];
010.     
011.    //ถ้าไม่ได้คลิกหน้าใดๆ (โหลดไฟล์นี้ครั้งแรก) หรือคลิกที่หน้า 1
012.    if (empty($gpages) || $gpages == 1)
013.    {
014.        //ให้หน้าที่คลิกคือหน้า 1
015.        $gpages = 1;
016.        //$numpiece คือ ลำดับที่เริ่มต้นของสินค้า เช่น เริ่มต้นจากลำดับที่ 5 ก็ให้ $numpieces = 5; 
017.        //ให้ลำดับเริ่มต้นคือ 0 เพราะรายการแรกเริ่มจาก 0 (gpages เท่ากับ 1 แล้วลบด้วย 1 ที่ลบด้วย 1 เพราะรายการแรกคือ 0 อย่างที่ได้อธิบายไว้แล้วด้านหน้า)
018.        $numpiece = $gpages - 1;
019.    }
020.    else
021.        //ให้รายการเริ่มต้น คือ หน้าที่กดลิงค์ ลบด้วย 1 คูณด้วยจำนวนต่อหน้า สมมติ หน้าที่คลิกคือ 3 ลบด้วย 1 คูณด้วย 2 เพราะฉะนั้นรายการเริ่มต้นคือ 4
022.        $numpiece = ($gpages - 1) * $perpages;
023.     
024.    //เรียกข้อมูลสินค้าขึ้นมาเพื่อนับจำนวนสินค้า และสร้างลิงค์ให้เลือกหน้า ซึ่งในที่นี้กำหนดหน้าละ 2 รายการ
025.    //$table = mysql_query("SELECT * FROM goods") or die ("Query Error : SELECT goods, types <" . mysql_error() . ">");  
026.    $table = mysql_query("SELECT * FROM insight") or die ("ไม่สามารถเรียกดูข้อมูลทั้งหมดได้" . mysql_error()); 
027. 
028.    //นับจำนวนเร็คคอร์ดที่ select ขึ้นมาทั้งหมด
029.    $countrecord = mysql_num_rows($table);
030.    //เอาจำนวนเร็คคอร์ดทั้งหมดหารด้วยจำนวนรายการต่อหน้า เพื่อที่จะได้หาจำนวนหน้าทั้งหมด
031.    $divide = $countrecord / $perpages;
032.    //เอาจำนวนเร็คคอร์ดทั้งหมดหารเอาเศษด้วยจำนวนรายการต่อหน้า ถ้ามีเศษแสดงว่ายังมีอีก 1 หน้า
033.    $mod = $countrecord % $perpages;
034.     
035.    $numberno = ((floor($divide) - ($gpages - 1)) * $perpages) + $mod;
036.     
037.    //ถ้ามีเศษแสดงว่ายังมีอีก 1 หน้า ก็ให้ค่า mod เท่ากับหนึ่ง เพื่อที่จะนำไปบวกกับจำนวนหน้าทั้งหมด เพื่อที่จะได้ลำดับที่ของหน้าที่สมบูรณ์ 
038.    if ($mod != 0) 
039.        $mod = 1;
040.    //สร้างลิงค์ของหน้า
041.    for ($loop=1;$loop<=$divide + $mod; $loop++)
042.    {
043.        //เปรียบเทียบว่าหน้าที่กดลิงค์มาเท่ากับค่าในลูปหรือไม่ ถ้าเท่ากันแสดงว่าเป็นหน้าปัจจุบัน ก็ไม่ต้องสร้างลิงค์
044.        if ($gpages == $loop)
045.            //เมื่อไม่ต้องสร้างลิงค์ก็ให้ใส่ [ ] พร้อมกับตัวเลข เช่น [3]
046.            $listpages .= "[" . $loop . "]&nbsp;";
047.        else
048.            //แต่ถ้าค่าในลูปไม่เท่ากับหน้าที่กดลิงค์มาก็ให้สร้างลิงค์ด้วย
049.            $listpages .= "<a href=\"insight.php?pages=" . $loop . "\" target=\"_parent\">" . $loop . "</a>&nbsp;";
050.    }
051.     
052.     
053.     
054.?>
055. 
056.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
057.<html xmlns="http://www.w3.org/1999/xhtml">
058.<head>
059.<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
060.<title></title>
061.<meta name="title" content="" />
062.<link rel="stylesheet" type="text/css" href="style.css" />
063.<script type="text/javascript" language="JavaScript1.2" src="popup.js"></script>
064.</head>
065. 
066.<body>
067. 
068.<div id="container">
069.   
070.    <div id="head">
071.      <div id="header-left" style="font-size:24px; font-family:Arial, Helvetica, sans-serif; color: #e46c0a; line-height: 80px; font-weight: bold;">
072.      <div style=" float: left;">
073.       
074.    <span>Insights and Publications</span>
075.    </div>
076.    </div>
077.    
078.    <div id="header-right" style="text-align: right;">
079.    <img src="images/logo.png" width="190" height="65" alt="" />
080.    </div>
081.    <span style="padding-top: 15px; "><img src="images/line.png" width="1000" height="3" alt="" /></span>
082.    </div>
083.     
084.     
085.     
086.<br class="clearboth" />
087.    
088.    <div id="bodymain">
089.    <div id="body-left" style="font-size: 16px;">
090.    <div style=" float: left;">
091.     
092.    <span style="font-size: 18px;">Search for Publications</span>
093. 
094.    </div>
095.     
096.    <div style="padding-top: 30px; font-size: 16px;">
097. <table width="500" border="0" align="center" cellspacing="1">
098.<tr>
099.                  <?
100.    if (!empty($_SESSION["sessfirstname"]))
101.    {
102.?>
103.    <td colspan="6"> <div align="center">| <a href="javascript:popup_update('addinsight.php')">Add New!</a> |<br />
104.     
105.     
106.    <br /></div>
107.      </td>
108.      <?
109.    }
110.    ?>
111.  </tr>
112.  </table>
113.    <?php
114.     
115.$tbfiles = mysql_query("SELECT * FROM insight ORDER BY inid DESC LIMIT $numpiece, $perpages ") or die("ไม่สามารถเรียกดูข้อมูลได้" . mysql_error());
116.echo"<table border=\"0\" width=\"400px;\"  cellspacing=\"1\" cellpadding=\"1\"><tr>";  
117.    $intRows = 0;
118.while($rwfiles = mysql_fetch_array($tbfiles))
119.    {
120.     
121.        $intRows++;
122.        $fdfilesid = $rwfiles["inid"];
123.        $fdname = $rwfiles["incat"];
124.        $fddatebook = $rwfiles["indate"];
125.        $fdtitle = $rwfiles["intitle"];
126.        $fdlink = $rwfiles["inlink"];
127.        $fddescription = $rwfiles["indetail"];
128.        $fdfilesname = $rwfiles["filesname"];
129.         
130.        echo "<td>";
131. 
132.        ?>
133.        <table border="0" width="650px;" cellspacing="1" cellpadding="1" align="top" >
134.         
135.        <tr>
136.            <td  width="60" rowspan="4"><?php echo "<a href=\"$fdlink\" target=\"_blank\"><img src=\"insight/$fdfilesname\" width=\"60px;\" height=\"90px;\" border=\"1\" align=\"top\" ></a></td>
137.             
138.            <td width=\"361\"></td></tr>
139.            <tr><td > </td></tr>
140.            <tr><td ></td></tr>
141.            <tr><td><span style=\" font-weight: bold;  \">$fdname </span> <br /><span>$fddatebook</span> <br /><span class=\"insighttext\" style=\" font-weight: bold; font-style: italic;\"><a href=\"$fdlink\" target=\"_blank\">$fdtitle</a></span></td></tr>
142.            <tr><td></td>
143.                   <td><span style=\"margin: 0px; padding: 0px;\">$fddescription</span></td></tr><br /><br />" ;
144. 
145. 
146.            if ($_SESSION["sessfirstname"] == "admin")
147.           {
148.                echo "<td align=center width=\"50px;\"><a href=javascript:popup_update('editinsight.php?id=$fdfilesid')>แก้ไข</a></td>
149.                      <td align=center width=\"50px;\"><a href=\"deleteinsight.php?id=$fdfilesid\" onclick=\"confirmdelete($fdfilesid, '$fdfilesname');\">ลบ</a></td>" ;
150. 
151.           }
152.            echo "</tr></table>";               
153. 
154.        echo"</td>";
155.        if(($intRows)%1==0)
156.        {
157.        echo"</tr>";
158.        }
159.        else
160.        {
161.        echo "<td>";
162.        }  
163.    }
164.    echo"</tr></table>";
165.    ?>
166. 
167.      <br />        
168.                <!-- ตัวเลขให้เลือกหน้า -->
169.                  <?php echo "<div style=\"text-align: center;\">หน้า " . $listpages . "</div>"; ?>    
170.    </div>
171.     
172.     
173.    </div>
174.     
175.    <div id="body-right1">
176.     
177.    <?php
178.            require("menu.php");
179.    ?>
180. 
181.    </div>
182. 
183. 
184.     
185.   
186.              
187.  </div>
188.            </div>
189.                        <?php
190.    include("connect/disconnect.inc");
191.?>
192. 
193.     
194.    </div>
195.    </div>
196.     
197.     
198.    <br class="clearboth" />
199.     
200.  </div>
201.</div>
202.</div>
203.</body>
204.</html>




Tag : PHP, MySQL



ประวัติการแก้ไข
2012-02-02 15:10:25
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-02-02 15:09:15 By : arnevcoze77 View : 4042 Reply : 2
 

 

No. 1



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

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

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



Go to : PHP MySQL Pagination ทำแบ่งหน้าด้วย PHP กับ MySQL ย่อจำนวนหน้า ในกรณีที่มีจำนวนหน้าเยอะ ๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-02 17:09:52 By : webmaster
 

 

No. 2



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



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

ขอบคุณค่ะ หามานานแล้ว ^___^
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-04-10 11:25:33 By : ออมฤทัย
 

   

ค้นหาข้อมูล


   
 

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





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