สอบถามเรื่่องการแบ่งหน้า page โดยให้โชว์หน้าช่วงแรก และหน้าสุดท้ายครับ
สวัสดีครับ
เนื่องจากผมได้ทำการ ปรับแต่งแบ่งหน้า ข้อมูลครับ
แต่ 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>
</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> </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
Date :
2011-09-16 12:02:58
By :
chaikongkub
View :
661
Reply :
2
รบกวนด้วยครับ
ประวัติการแก้ไข 2011-09-16 13:29:46 2011-09-16 14:43:57
Date :
2011-09-16 13:12:29
By :
chaikongkub
Load balance : Server 05