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 > สอบถามเรื่่องการแบ่งหน้า page โดยให้โชว์หน้าช่วงแรก และหน้าสุดท้ายครับ



 

สอบถามเรื่่องการแบ่งหน้า page โดยให้โชว์หน้าช่วงแรก และหน้าสุดท้ายครับ

 



Topic : 066638



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



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




สวัสดีครับ

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

<?php
$month = isset($_POST['month'])?$_POST['month']:'';
$year = isset($_POST['year'])?$_POST['year']:'';
$bt = isset($_POST['show'])?$_POST['show']:'';
$sa = isset($_POST['showall'])?$_POST['showall']:'';
$Num_Rows = 0;
?>
<form action="" id="form1" method="post" name="form1">
<table border="1" width="100%">
<tbody>
<tr align="right">
<td scope="col" valign="middle">
ดูข้อมูลข่าวย้อนหลัง เดือน <select id="month" name="month"><option selected="selected" value="00">---------------</option><option value="01">มกราคม</option><option value="02">กุมภาพันธ์</option><option value="03">มีนาคม</option><option value="04">เมษายน</option><option value="05">พฤษภาคม</option><option value="06">มิถุนายน</option><option value="07">กรกฎาคม</option><option value="08">สิงหาคม</option><option value="09">กันยายน</option><option value="10">ตุลาคม</option><option value="11">พฤษจิกายน</option><option value="12">ธันวาคม</option></select> ปี พ.ศ. <select id="year" name="year"><option value="0000">-------</option><option value="2004">2547</option><option value="2005">2548</option><option value="2006">2549</option><option value="2007">2550</option><option value="2008">2551</option><option value="2009">2552</option><option value="2010">2553</option><option value="2011">2554</option><option value="2012">2555</option><option value="2013">2556</option><option value="2014">2557</option></select> <input id="show" name="show" type="submit" value="แสดงข้อมูล" /><input id="showall" name="showall" type="submit" value="แสดงข้อมูลทั้งหมด" /></td>
</tr>
</tbody>
</table>
<table border="0">
<tr>
<td>
&nbsp;&nbsp;&nbsp;</td>

</tr>
<?php
if($month=="00" or $year=="0000"){
print "คุณเลือกเดือนหรือปีไม่ถูกต้อง";
}else{

if($year<>"" and $month<>""){
if($month=='01' or $month=='03' or $month=='05' or $month=='07' or $month=='08' or $month=='10' or $month=='12'){
$start = $year."-".$month.'-01';
$end = $year."-".$month.'-31';
//print "31 day<br>";
}elseif($month=="04" or $month=="06" or $month=="09" or $month=="11"){
$start = $year."-".$month.'-01';
$end = $year."-".$month.'-30';
//print "30 day<br>";
}else{
$start = $year."-".$month.'-01';
$end = $year."-".$month.'-28';
//print "28 day<br>";
}
if(substr($month,0,1)==0){
$k = substr($month,1,1);
$k = intval($k);
}else{
$k = $month;
}
$g = (int)"$year"+543;
$monthshow = array("","มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤษจิกายน","ธันวาคม");
if($k=='0'){
print "คุณเลือกเดือนหรือปีไม่ถูกต้อง";
}else{
print "ข่าวย้อนหลังในช่วงเดือน ".$monthshow[$k]." ".$g;
}
$num = "select count(nid) as num from economy where field_date_create_value between '".$start."' and '".$end."'";
//print $num."<br>";
}else{
$num = "select count(nid) as num from node where type='news_economy'";
//print $num."<br>";
}



$Num_Query = db_query($num);
foreach($Num_Query as $n){
$Num_Rows = $n->num;
}
//print $Num_Rows;
$Per_Page = 20; // Per Page

(int)$Page = (isset($_GET['Page'])) ? $_GET['Page'] : '';

if($Page==0)
{
$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;
}
if($year<>"" and $month<>""){
if($Num_Rows<>0){
//print $Num_Rows;
$sql = "select top (".$Per_Page.") nid,title,field_date_create_value from economy where nid not in(select top (".$Page_Start.")nid from economy where field_date_create_value between '".$start."' and '".$end."' ) and field_date_create_value between '".$start."' and '".$end."' order by field_date_create_value desc";
}else{
$sql = "select nid from node where type='new'";
//print "</br>".$year."</br>".$month;

}
}else{
if($Num_Rows<>0){
$sql ="select top (".$Per_Page.") nid,title,type from node where nid not in(select top(".$Page_Start.") nid from node where type='news_economy') and type='news_economy'";
}
}

$a = db_query($sql);
foreach($a as $r){
?> <tbody>
<tr>

<td>
<?php print " <a href='node/".$r->nid."'>".$r->title."</a>";?> </td>
</tr>
<?php } }?> </tbody>
</table>




<center>
<?php if($Num_Rows<>0){
//print $num;?>
<p>&nbsp;</p><font color="blue">ทั้งหมด <i><?= $Num_Rows;?></i> ข่าว : <?=$Num_Pages;?> หน้า </font><p>

<?
if($Prev_Page)
{
echo " <a href='showall_news_economy?Page=$Prev_Page'><< Back</a> ";
}

for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='showall_news_economy?Page=$i'>$i</a> ]";
}
else
{
echo "<b><font color='red'> $i </font></b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='showall_news_economy?Page=$Next_Page'>Next>></a> ";
}}
?>

ทำให้ได้ภาพดังข้างล่างครับ





แต่ผมอยากรบกวนแบ่งให้ได้ตามภาพข้างล่างครับ

ไม่ทราบว่าจะจะแก้ไขได้อย่างไรได้บ้างครับ




ต้องขอรบกวนพี่ๆด้วยครับ



Tag : PHP, MySQL









ประวัติการแก้ไข
2011-09-16 13:03:51
2011-09-16 13:04:48
2011-09-16 13:05:43
2011-09-16 13:07:17
2011-09-16 13:07:48
2011-09-16 13:09:21
2011-09-16 13:11:41
2011-09-16 16:12:23
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-09-16 12:02:58 By : chaikongkub View : 661 Reply : 2
 

 

No. 1



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



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


รบกวนด้วยครับ








ประวัติการแก้ไข
2011-09-16 13:29:46
2011-09-16 14:43:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-16 13:12:29 By : chaikongkub
 


 

No. 2



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

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

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

https://www.thaicreate.com/php/forum/025968.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-09-16 16:12:49 By : Dragons_first
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







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

Load balance : Server 05
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 อัตราราคา คลิกที่นี่