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

HOME > PHP > PHP Forum > ถามเรื่อง Code ในการแบ่งหน้าหน่อยค่ะ - 1 2 3 4 5 6 7 8 9 10



 

ถามเรื่อง Code ในการแบ่งหน้าหน่อยค่ะ - 1 2 3 4 5 6 7 8 9 10

 



Topic : 025235



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



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




ปัจจุบันการแบ่งหน้าเป็นแบบนี้ค่ะ
1 2 3 4 5 6 7 8 9 10 11 12 13 หน้าต่อไป >>
คือโชว์ทั้งหมดทุกหน้าเลยแต่อยากจะให้เป็นแบบที่ โชว์ประมา 5 หน้าแล้วตัดอ่ะคะ
แบบนี้
<< | < ...3 4 5 6 7... > | >> จะทำได้อย่างไรค่ะ ถ้าจะให้แก้จากcode เก่าอ่ะคะ

อันนี้คือ code เก่าค่ะ
<? 
require("../config.inc.php");
require("../auth.inc.php");  
error_reporting(E_ALL ^ E_NOTICE);
session_start();
 ?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<title>Search2</title>
    <link rel="stylesheet" type="text/css" href="../style.css">

<style type="text/css">
<!--
.style2 {
	font-size: xx-small;
	color: #FF0000;
}
.style3 {
	color: #000066;
	font-weight: bold;
}
.style4 {
	font-size: x-small;
	color: #0000FF;
	font-weight: bold;
}
.style5 {font-size: xx-small}
-->
</style>

<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">

<form  method="POST" name="form1" id="form1" action="smonth2.php"><div align="center">
วันที่ต้องการค้นหา จาก</div><tr class="info">
                           <td><div align="center">วันที่เริ่มต้น(Start Date):</div></td>
                           <td width="60%"><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                               <select name="dd1" id="select18">
                                 <option value="0"selected>วัน</option>
               <? 	for($i=1;$i<=31;$i++){
			   			if($i<10)
						$temp="0".$i;
			   		 	else $temp=$i;			
						if(date('d')==$temp)
			    		echo"<option value='$temp'selected>$temp</option>";
			   			else  echo"<option value='$temp'>$temp</option>";
				 		}?>
 			  	          </select>
                               </font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                               <select name="mm1" id="select19">
                                 <option value="0" selected>เดือน</option>
              <? for($i=1;$i<=12;$i++){
 						if($i<10)
						$temp="0".$i;
			   		 	else $temp=$i;			
						
						if(date('m')==$temp)
			    		echo"<option value='$temp'selected>$temp</option>";
			   			else  echo"<option value='$temp'>$temp</option>";
				 	}
			  ?>
                               </select>
                               </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                               <select name="yy1" id="select20">
                                 <option value="0" selected>ปี ค.ศ.</option>
                                 <? for($i=2004;$i<=2009;$i++){ 
								 $temp=$i;
								if(date('Y')==$temp)
			    				echo"<option value='$temp'selected>$temp</option>";
			   					else  echo"<option value='$temp'>$temp</option>";
				 				}?>
                               </select>
                           </font></div></td>
                         </tr>
                         <tr class="info">
                           <td><div align="center">วันสิ้นสุด(End Date):</div></td>
                           <td><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                               <select name="dd2" id="select21">
                                 <option value="0"selected>วัน</option>
             			<? 	for($i=1;$i<=31;$i++){
			   					if($i<10) 
								$temp="0".$i;
			  					else $temp=$i;
								if(date('d')==$temp)
			    		echo"<option value='$temp'selected>$temp</option>";
			   			else  echo"<option value='$temp'>$temp</option>";
				 		}?>
 			  	
                           </select>
                               </font> <font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                               <select name="mm2" id="select22">
                                 <option value="0" selected>เดือน</option>
              <? for($i=1;$i<=12;$i++){
			  		if($i<10) 
			  		$temp="0".$i;
			  		else $temp=$i;
if(date('m')==$temp)
			    		echo"<option value='$temp'selected>$temp</option>";
			   			else  echo"<option value='$temp'>$temp</option>";			  }
			  ?>
                               </select>
                               </font><font size="2" face="Verdana, Arial, Helvetica, sans-serif">
                               <select name="yy2" id="select23">
                                 <option value="0" selected>ปี ค.ศ.</option>
                                 <? for($i=2004;$i<=2009;$i++){ 
 $temp=$i;
								if(date('Y')==$temp)
			    				echo"<option value='$temp'selected>$temp</option>";
			   					else  echo"<option value='$temp'>$temp</option>";	}?>
                               </select>
                       </font></div></td>
                         </tr><BR>
<CENTER><input type="submit" name="Submit" value="ค้นหา">
</CENTER></form>
<hr>
<?
$e_dateadd="$yy1"."-$mm1"."-$dd1";
	$e_dateadd2="$yy2"."-$mm2"."-$dd2";
?>
<?
if (empty($e_dateadd) or empty($e_dateadd2))
{
echo"กรุณาเลือกรายการค้นหา ด้วยค่ะ";
exit();
}
else
{
$dbhost="localhost";//ชื่อโฮส
$dbusername="root";//ชื่อผู้ใช้งานฐานข้อมูล MySQL
$dbpassword="123456";//รหัสผ่านของผู้ใช้งานฐานข้อมูล MySQL
$dbname="visitant1";//ชื่อฐานข้อมูล
$connect_mysql = mysql_connect( $dbhost, $dbusername, $dbpassword );
if ( ! $connect_mysql ) die( "ไม่สามารถติดต่อกับ MySQL ได้" );
mysql_select_db( $dbname, $connect_mysql )or die ( "ไม่สามารถเลือกใช้งานฐานข้อมูล$dbname" );

mysql_query("set NAMES tis620 ");

$sql="SELECT * FROM visitor LEFT JOIN (location) ON ( visitor.locNo = location.locNo) WHERE visitor.vdate BETWEEN '$e_dateadd' and '$e_dateadd2' order by visitor.vdate desc,visitor.vtime asc"; 
$per_page = 20;
if ( !$page ) 
			$page = 1; 
			$prev_page = $page - 1; 
			$next_page = $page + 1; 
			$result = mysql_query( $sql ); 
			$page_start = ( $per_page * $page) - $per_page; 
			$num_rows = mysql_num_rows( $result ); 

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 ( ( $page > $num_pages ) || ( $page < 0 ) ) 
			print "จำนวน $page มากกว่า $num_pages";

/////////////// คำสั่ง SQL กำหนดลิมิต ให้แสดงผลต่อ 1 หน้า///////////////////////////////
$sql .= " LIMIT $page_start, $per_page"; 
$result1 = mysql_query( $sql ); 
if(empty($num_rows)) /* ตรวจสอบว่ามีอยู่หรือยัง */
{
echo"<center><br>ไม่พบข้อมูล วันที่  <b>$e_dateadd</b>  ถึง วันที่  <b>$e_dateadd2 <b> </center>";
exit();
}
else
{
?>

<div align="center"><? echo " แสดงรายการค้นหา  วันที่ <b>$e_dateadd</b> ถึง วันที่   <b>$e_dateadd2</b> พบ <b>$num_rows</b> Reccord "; ?><br><br>
</div>
<table border="1" align="center" cellspacing="0" bordercolor="#ffffff" class="v1">
<tr class="homespot" id="homespt"> 
<td > 
<div align="center"><font color="#ffffff">ชื่อ</font></div>
</td>
<td > 
<div align="center"><font color="#ffffff">นามสกุล</font></div>
</td>
<td > 
<div align="center"><font color="#ffffff">บัตรประจำตัว</font></div>
</td>
<td > 
<div align="center"><font color="#ffffff">วันที่มาติดต่อ</font></div>
</td>
<td > 
<div align="center"><font color="#ffffff">เวลาที่มาติดต่อ</font></div>
</td>
<td > 
<div align="center"><font color="#ffffff">สถานที่ติดต่อ</font></div>
</td>
</tr>
<?

while ( $result = mysql_fetch_array( $result1 ) ) //นำค่าี่ที่ผ่านการคิวรี่จากตัวแปร $result มาทำการวนลูปเพื่อเอาค่าในแต่ละฟิลด์ออกมาโชว์แสดงผล
	{

		$trcolor= ($trcolor=="#E9E9E9") ? "#FFFFFF" : "#E9E9E9";

		$id = $result['id'];
	$vname = $result['vName'];
	$vsurname = $result['vSurname'] ;
	$idcard = $result['idCard'];
		$vdate = $result['vdate'];
		$vtime = $result['vtime'];
		$vtime2 = number_format($vtime,2,'.',',')  ;
		$locName = $result['locName'];
?>
<tr bgcolor="<?echo$trcolor?>">
<td><?echo"<a href='javascript:void(0);' NAME='Window Name' title='Click to view' ".
	             "onClick=window.open('detail.php?vid=$id','wn','width=1016,height=712,".
		         "left=0,top=0,toolbar=0,status=0,resizable=1,Enctype=multipart/form-data');>
				 $vname</a>";?></td>
  <td><?echo"$vsurname";?></td>
  <td><?echo"$idcard";?></td>
  <td><?echo"$vdate";?></td>
  <td><?echo"$vtime2";?></td>
    <td><?echo"$locName";?></td>

</tr>

<?
}
}

}
?>
รวมทั้งหมด <b><?php echo $num_rows; ?></b> เรคคอร์ด <b><?php echo $num_pages; ?></b> หน้า : 
<?php
//////////////////  สร้างปุ่มย้อนกลับ  ///////////////////////////////
echo"<div id='pagelist' >";
if ( $prev_page )
		echo "<a href=\"$PHP_SELF?page=$prev_page&yy1=$yy1&mm1=$mm1&dd1=$dd1&yy2=$yy2&mm2=$mm2&dd2=$dd2\">&lt;&lt;กลับไป </a>"; 

//////////////////  สร้างตัวเลขหน้า ////////////////////////////////
for ( $i=1; $i<=$num_pages; $i++ ) 
	{ 
		if ( $i != $page) 
				echo "&nbsp;<a href=\"$PHP_SELF?page=$i&yy1=$yy1&mm1=$mm1&dd1=$dd1&yy2=$yy2&mm2=$mm2&dd2=$dd2\">$i</a>&nbsp;";
		else 
				echo " <b>$i</b> "; 
	}

/////////////////// สร้างปุ่มเดินหน้า /////////////////////////////////////
if ( $page != $num_pages ) 
		echo "<a href=\"$PHP_SELF?page=$next_page&yy1=$yy1&mm1=$mm1&dd1=$dd1&yy2=$yy2&mm2=$mm2&dd2=$dd2\"> หน้าต่อไป &gt;&gt;</a>"; 
////////////////// ปิดการเชื่อมต่อฐานข้อมูล ////////////////////////////
echo"</div>";
mysql_close( $connect_mysql );

?>
</table>
</body>
</html> 


ขอบคุณล่วงหน้านะคะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-03-06 14:20:32 By : ReOna View : 1682 Reply : 3
 

 

No. 1



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

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

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


ก่อนจะตอบกระทู้ ขอแนะนำก่อนนะครับ ถ้าจะโพส โค้ด ควรครอบด้วยแท็กโค้ด ซึ่งเว็บมีให้ มันจะได้ดูง่ายครับ
เพราะบางคนอาจช่วยคุณได้ แต่เข้ามาเห้นโค้ดยุ่งเหยิง ก็ไม่เอาดีกว่า

เข้าเรื่อง

ปัจจุบัน คุณแสดงเลขหน้าจากข้อมูลทั้งหมด กรณีที่คุณอยากแสดง เพียง 5 เลข ก็ใช้ loop 5 ครั้ง
จากตัวแปร $page ซึ่งเป็นเลขหน้าปัจจุบัน เราจะต้องหาว่ามีหน้าอยู่ก่อนหรืออยู่หลังอีกหรือไม่

ก็จะได้ดังนี้ ลองเอาไปแปลงดูครับ
Code (PHP)
<?php
if(isset($_GET["p"]))
$page = $_GET["p"];
else
$page = 1;
$all_page = 12;
$show = 5;
$start = 1;
$end = $start+$show;
$add = $page-$show;
$tmp = floor($page/($show));
if($page%$show !=0)
{
$start += ($tmp*$show);
}
else
$start += $add;

$end = $start+$show;
if($start > 1)
{
echo "".($start-1)."< "; // before page
}

for($start;$start < $end;$start++)
{
if($start <= $all_page) // check not over all page
{
if($page == $start)
echo " <b>".$start."</b> "; // current page
else
echo " ".$start." "; // link page
}
}
if($end < $all_page)
{
echo " >".($end); // next page 
}
?>







Date : 2009-03-06 16:06:34 By : lozomac
 


 

No. 2



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



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


ขอบคุณค่ะ
กำลังหาอยู่เหมือนกัน
Date : 2009-03-06 22:52:41 By : Kmay
 

 

No. 3



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



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


ขอบคุณมากๆคะ
Date : 2009-03-07 20:05:43 By : biolony
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเรื่อง Code ในการแบ่งหน้าหน่อยค่ะ - 1 2 3 4 5 6 7 8 9 10
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 00
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 อัตราราคา คลิกที่นี่