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 > โหลดข้อมูล บางหน้าก็โหลดมา ครบ บ้างไม่ครบบ้าง เป็นที่ข้อมูลที่แบ่งหน้า เกิดจากอะไรครับ



 

โหลดข้อมูล บางหน้าก็โหลดมา ครบ บ้างไม่ครบบ้าง เป็นที่ข้อมูลที่แบ่งหน้า เกิดจากอะไรครับ

 



Topic : 129237



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



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




โหลดข้อมูล บางหน้าก็โหลดมา ครบ บ้างไม่ครบบ้าง เป็นที่ข้อมูลที่แบ่งหน้า เกิดจากอะไรครับ



Tag : PHP, HTML, HTML5, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-10-17 10:23:59 By : sawmon View : 742 Reply : 7
 

 

No. 1



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


ไม่มี code หรือ ตัวอย่างอะไร ให้ดูเลยรึครับ??






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-17 11:36:07 By : apisitp
 


 

No. 2



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



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


หน้าที่ไม่มีการแบ่งหน้าโหลด ข้อมูล ปกติครับ
ส่วนข้อมูลที่ได้รับการแบ่งหน้า โหลดข้อมูล มาครึ่งหน้าบ้าง มาเต็มหน้าบ้าง สลับกันเป็น
โค๊ดแบ่งหน้า หรือ มีตัวใหม่แนะนำไหมครับ
Code (PHP)
            <?php
function page_navi($page, $limit, $range, $count, $target="_self", $current_style="", $other_style="", $quetystring=""){ 
$total = ceil($count/$limit); 
$navi_start = $page-$range; 
$navi_end = $page+$range; 

$send = !empty($querystring)? "&". $querystring : ""; 

if($navi_start <= 0) $navi_start = 1; 
if($navi_end >= $total) $navi_end = $total; 
if($page>1){ 
$navi_back = $page-1; 
if($page > 2) 
echo "<a href=\"$_SERVER[SCRIPT_NAME]?page=1" . $send . "\" target=\"" . $target . "\">&laquo;</a> "; 
echo "<a href=\"$_SERVER[SCRIPT_NAME]?page=$navi_back" . $send . "\" target=\"" . $target . "\">&#8249;</a> "; 
} 
for($i = $navi_start; $i <= $navi_end; $i++){ 
if($i == $page) 
echo "<a href=\"?page=$i" . $send . "\" target=\"" . $target . "\"><strong>$i</strong></a> "; 
else 
echo "<a href=\"?page=$i" . $send . "\" target=\"" . $target . "\">$i</a> "; 
} 
if($page < $total){ 
$navi_next = $page+1; 
echo "<a href=\"?page=$navi_next" . $send . "\" target=\"" . $target . "\">&#8250;</a> "; 
if(($page+1) < $total) 
echo "<a href=\"?page=$total" . $send . "\" target=\"" . $target . "\">&raquo;</a>"; 
} 
} 


$page = (isset($_GET['page']))? intval($_GET['page']) : 1; 
$limit_end = 10; 
$limit_start = ($page-1)*$limit_end; 

$send = ""; 
if(isset($_GET["id"]) and $_GET["id"] != ""){ 
$send = "id=" . $_GET["id"]; 
$condition= " WHERE   id_a = '" . $_GET["id"] . "' "; 
} 

$sql = "SELECT    *    FROM   table_A  
 Group  by  id_a  DESC". $condition; 
$query_id = mysqli_query($conn,$sql . " LIMIT " . $limit_start. "," . $limit_end); 
$count = mysqli_num_rows($query_id); 
$total = mysqli_num_rows(mysqli_query($conn,$sql)); 

if($total > 0){ 
while($objResult = mysqli_fetch_assoc($query_id)){ 
  	$id_a=$objResult["id_a"]; 
}
}


echo "\n<div style=\"float:left;\">Page : " . page_navi($page, $limit_end, 8, $total, "current_page","other_page",$send) . " </div><div style=\"float:right;\">[" . ($limit_start+1) . "-" . ($limit_start+$count) . "] of <strong>" . $total . "</strong></div>"; 

?>



ประวัติการแก้ไข
2017-10-17 12:02:55
2017-10-17 12:03:14
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-17 11:53:21 By : sawmon
 

 

No. 3



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



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


เป็นที่เขียนไม่ถูก
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-17 12:16:30 By : Chaidhanan
 


 

No. 4



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



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


เอาโค๊ดใหม่ มาลองแล้วคับ
https://www.thaicreate.com/php/forum/070705.html

ถ้าอยากให้ page ต่อไป เรียงลำดับ ตาม หน้า แรกหละครับ เช่น หน้าแรก 1 - 10 page หน้า สอง 11-20 หน้า สาม 21-30
ต้องเพิ่มโค๊ดตรงไหนครับ

Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM customer ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);

$Per_Page = 2;   // Per Page

$Page = $_GET["Page"];
if(!$_GET["Page"])
{
	$Page=1;
}

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
	$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
	$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
	$Num_Pages =($Num_Rows/$Per_Page)+1;
	$Num_Pages = (int)$Num_Pages;
}

$strSQL .=" order  by CustomerID ASC LIMIT $Page_Start , $Per_Page";
$objQuery  = mysql_query($strSQL);
?>
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">CustomerID </div></th>
    <th width="98"> <div align="center">Name </div></th>
    <th width="198"> <div align="center">Email </div></th>
    <th width="97"> <div align="center">CountryCode </div></th>
    <th width="59"> <div align="center">Budget </div></th>
    <th width="71"> <div align="center">Used </div></th>
  </tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td><div align="center"><?=$objResult["CustomerID"];?></div></td>
    <td><?=$objResult["Name"];?></td>
    <td><?=$objResult["Email"];?></td>
    <td><div align="center"><?=$objResult["CountryCode"];?></div></td>
    <td align="right"><?=$objResult["Budget"];?></td>
    <td align="right"><?=$objResult["Used"];?></td>
  </tr>
<?
}
?>
</table>

<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
	echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
}

for($i=1; $i<=$Num_Pages; $i++){
	if($i != $Page)
	{
		echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
	}
	else
	{
		echo "<b> $i </b>";
	}
}
if($Page!=$Num_Pages)
{
	echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
}
mysql_close($objConnect);
?>
</body>
</html>



ประวัติการแก้ไข
2017-10-17 14:16:23
2017-10-17 14:18:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-17 14:15:53 By : sawmon
 


 

No. 5



โพสกระทู้ ( 5,105 )
บทความ ( 4 )

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

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


เนื่องจากผมไม่เชี่ยวชาญการแบ่งหน้าแบบนี้ เลยไม่สามารถจะแก้ code ช่วยได้
แต่ปัญหาแบ่งหน้า ผมใช้ dataTable มาทดแทน
ถ้าจะแบ่งหน้าแบบไม่งง ลองหา class ที่ mr.v แจก ใช้งานง่ายดี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-18 10:17:50 By : apisitp
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : apisitp เมื่อวันที่ 2017-10-18 10:17:50
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-19 13:27:59 By : sawmon
 


 

No. 7



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



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


ได้แล้วครับ แบ่งหน้า พร้อม รันลำดับ จากหน้า 1-10 หน้า สอง 11-20 หน้าสาม 21-30 ไปเรื่อยๆ
$i=$i+$Page_Start;//เพิ่มตรงนี้
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL Tutorial</title>
</head>
<body>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("mydatabase");
$strSQL = "SELECT * FROM customer ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$i=1;
$Per_Page = 10;   // Per Page

$Page = $_GET["Page"];
if(!$_GET["Page"])
{
	$Page=1;
}

$Prev_Page = $Page-1;
$Next_Page = $Page+1;

$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
	$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
	$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
	$Num_Pages =($Num_Rows/$Per_Page)+1;
	$Num_Pages = (int)$Num_Pages;
}

$strSQL .=" order  by CustomerID ASC LIMIT $Page_Start , $Per_Page";
$objQuery  = mysql_query($strSQL);
?>
<table width="600" border="1">
  <tr>
    <th width="91"> <div align="center">CustomerID </div></th>
    <th width="98"> <div align="center">Name </div></th>
    <th width="198"> <div align="center">Email </div></th>
    <th width="97"> <div align="center">CountryCode </div></th>
    <th width="59"> <div align="center">Budget </div></th>
    <th width="71"> <div align="center">Used </div></th>
  </tr>
<?
$i=$i+$Page_Start;//เพิ่มตรงนี้ 
while($objResult = mysql_fetch_array($objQuery))
{
?>
  <tr>
    <td><div align="center"><?=$objResult["CustomerID"];?></div></td>
    <td><?=$objResult["Name"];?></td>
    <td><?=$objResult["Email"];?></td>
    <td><div align="center"><?=$objResult["CountryCode"];?></div></td>
    <td align="right"><?=$objResult["Budget"];?></td>
    <td align="right"><?=$objResult["Used"];?></td>
  </tr>
<?
$i++;
}
?>
</table>

<br>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
	echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
}

for($i=1; $i<=$Num_Pages; $i++){
	if($i != $Page)
	{
		echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
	}
	else
	{
		echo "<b> $i </b>";
	}
}
if($Page!=$Num_Pages)
{
	echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
}
mysql_close($objConnect);
?>
</body>
</html>



ประวัติการแก้ไข
2017-10-19 13:31:37
2017-10-19 13:32:37
2017-10-19 13:34:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-19 13:30:41 By : sawmon
 

   

ค้นหาข้อมูล


   
 

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