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

HOME > PHP > PHP Forum > page ไม่ไปหน้าสองให้อ่ะครับ ผมดึงรูปออกมาทำตารางโดยออกมาเป็น 7*3 ได้แล้วแต่ทีนี้ ถ้าหากมีรูปมากว่า 18



 

page ไม่ไปหน้าสองให้อ่ะครับ ผมดึงรูปออกมาทำตารางโดยออกมาเป็น 7*3 ได้แล้วแต่ทีนี้ ถ้าหากมีรูปมากว่า 18

 



Topic : 027450



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



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




ผมดึงรูปออกมาทำตารางโดยออกมาเป็น 7*3 ได้แล้วแต่ทีนี้ ถ้าหากมีรูปมากว่า 18 รูปมันก็ต้องขึ้นหน้าสองแต่เมื่อกด > หรือ 2 มันก็กลับมาที่หน้าเดิมครับไม่ยอมไปหน้าใหม่ ไม่ทราบว่าเป็นที่อะไร เพราะตอนลองมันลองบนเครื่อง แต่พอขึ้น server มันไม่ได้ ซึ่งผมยังไม่ค่อยมีความรู้ความเข้าใจในการขียน code ต้องเอาขึ้น server มากนักครับ จึงอยากขอให้ผู้รู้ทุกท่านช่วยกันดูให้หน่อยครับ

อันนี้หน้าที่โชว์รูปครับ
Code (PHP)
<?php
 include "menu.php"; 
include "class.page_split.php";		# เรียกใช้ไฟล์ ระบบ
include "connect.php";
session_start();

?>
<table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/dungcary01_21.jpg">
      <!--DWLayoutTable-->
      <tr>
        <td height="77" colspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/dungcary02_11.jpg">
          <!--DWLayoutTable-->
          <tr>
            <td width="43" height="18"></td>
            <td width="366"></td>
            <td width="801"></td>
          </tr>
          <tr>
            <td height="23"></td>
            <td height="26" colspan="3" class="css8">&#3649;&#3588;&#3607;&#3605;&#3634;&#3621;&#3655;&#3629;&#3585;&#3616;&#3634;&#3614;</td>
            </tr></table></td>
      </tr>
      <tr>
        <td height="793" align="left" valign="top"><table width="559" height="236" border="0" cellpadding="0" cellspacing="0" bgcolor="#A5631B">
          <!--DWLayoutTable-->
          <tr>
            <td width="26">&nbsp;</td>
            <td width="481" class="css4">nonononononononononono</td>
            <td width="52" height="29">&nbsp;</td>
            </tr>
          <tr>
            <td>&nbsp;</td>
            <td align="center" valign="middle"><table width="238" height="173" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
              <tr>
                <td><img src="images/pic1.jpg" width="236" height="208" /></td>
              </tr>
            </table></td>
            <td align="center" valign="middle"><p class="css7">&nbsp;</p></td>
            </tr>
          
          <tr>
            <td height="19" colspan="3">&nbsp;</td>
            </tr>
        </table>
          <?
# ส่วนของการติดต่อ ฐานข้อมูล MySQL ใช้ปกติเหมือนที่เคยทำ หรืออาจจะเก็บไว้ในไฟล์ connect.php แล้วเรียกใช้ ก็ได้
$obj = new page_split();						# ประกาศ object
$obj->_setPageSize(18);						# กำหนดจำนวนข้อมูลต่อหนึ่งหน้าการแสดงผล
$obj->_setFile("catalog.php");		# กำหนดชื่อไฟล์ที่ใช้แสดงผล (ไม่อยากใช้ ตัวแปรระบบ เพราะไม่รู้ว่ามันใช้ได้ทุก Browser หรือเปล่าส่งค่ามันดื้อๆนี้แหละ)
$obj->_setPage($page);					# กำหนดเพจ (ต้องกำหนดไว้แบบนี้เลย ห้ามเปลี่ยน)

$sql="SELECT * FROM tbimg";
$result=$obj->_query($sql);				# นำมาใช้งานแทนคำสั่ง mysql_query(...); ที่เดิม เคยใช้งานอยู่
$obj->_displayPage();						# กำหนดให้แสดง รายการหน้าทั้งหมด
echo"<table border=\"1\" cellspacing=\"1\" cellpadding=\"1\"><tr>";	
$intRows = 0;
			# ส่วนของการวนลูปแสดงผลแบบเดิมๆที่ใช้งานอยู่ก่อน ไม่ต้องเปลี่ยนใดๆ
			while($data=mysql_fetch_array($result))
			{ //$image = "<img src=\"admin/".$data["m_url"]."\" valign=middle align = center width=\"100\">";
			$intRows++;
			echo "<td>";	
			?>
			<table width="91" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align  = "center"><div align="center"><a href="admin/<?=$data["m_url"];?>" target="_blank"><img src="admin/<?=$data["m_url"];?>"  width="100" height="100" border="0"></a></div></td>
</tr>
<tr>
<td align  = "center"><div align="center"><?=$data["m_detail"];?></div></td>
</tr>
</table>
<?
echo"</td>";
if(($intRows)%6==0)
{
echo"</tr>";
}
else
{
echo "<td>";
}	
}
echo"</tr></table>"; ?>
<?
			//	echo "<br>".$image."<br>".$data["m_detail"];
	

$obj->_displayPage();						# กำหนดให้แสดง รายการหน้าทั้งหมด (อีกครั้งตามต้องการ)
?>
          </td>
      </tr>
    </table>


ส่วนอันนี้เป็นหน้าที่เรียกฟังก์ชั่นที่ใช้แบ่งหน้าครับ
Code (PHP)
<?php
class page_split 
{
	var $var_pageSize;
	var $var_currentPage;
	var $var_totalPage;
	var $var_file;

	function page_split($pagesize=10, $file=""){
		$this->var_pageSize=$pagesize;
		$this->var_currentPage=$page;
		$this->var_file=$file;
	}

	function _setPageSize($size=10){
		$this->var_pageSize=$size;
	}

	function _setPage($page=1){
		if(empty($page)) $page=1;
		$this->var_currentPage=$page;
	}

	function _setFile($file=""){
		$this->var_file=$file;
	}

	function _query($sql)
	{
		$result=mysql_query($sql);
		$num=mysql_num_rows($result);
		$rt = $num%$this->var_pageSize;
				
		# หาจำนวนหน้าทั้งหมด
		$this->var_totalPage = ($rt!=0) ? ceil($num/$this->var_pageSize) : floor($num/$this->var_pageSize); 
		$goto = ($this->var_currentPage - 1) * $this->var_pageSize;

		$sql .= " LIMIT $goto , ".$this->var_pageSize;
		$result=mysql_query($sql);

		return $result;
	}

	function _displayPage($option="",$align="left")
	{
		# รูปแบบตัวแปร option คือ $option = "id=$c_id";
		# ถ้ามีหลายตัวแปรก็จะเป็น  $option = "id=$c_id&name=$myname&action=$action";

		echo "<table align=center width=98% class=clear border=0 bordercolor=black cellspacing=0 cellpadding=2>\n";
		echo "<tr><td align=$align>\n";
		echo "<font color=#686898>\n";

		# สร้าง link เพื่อไปหน้าก่อน-หน้าถัดไป
		echo "กำลังแสดงหน้าที่  ";
		if($this->var_currentPage >1 && $this->var_currentPage<=$this->var_totalPage) {
			$prevpage = $this->var_currentPage - 1;
			echo "<a href='".$this->var_file."?page=".$prevpage."&".$option."' title='หน้าก่อนนี้'><</a>\n";
		}

		echo " <b>".$this->var_currentPage."/".$this->var_totalPage."</b> ";

		if($this->var_currentPage != $this->var_totalPage) {
			$nextpage = $this->var_currentPage + 1;
			echo "<a href='".$this->var_file."?page=".$nextpage."&".$option."' title='หน้าถัดไป'>></a>\n";
		}

		echo "</font>\n";
		echo "</td>\n";
		echo "<td align=right>\n";

		# วนลูปแสดงเลขหน้าทั้งหมด แบบเป็นช่วงๆ ช่วงละ 10 หน้า
		$b=floor($this->var_currentPage/10); 
		$c=(($b*10));

		if($c>1) {
			$prevpage = $c-1;
			echo "<a href='".$this->var_file."?page=".$prevpage."&".$option."' title='10 หน้าก่อนนี้'><<</a> \n";
		}
		else{
			echo "<<\n";
		}

		echo " <b>";
		
		for($i=$c; $i<$this->var_currentPage ; $i++) {
			if($i>0)
			echo "<a href='".$this->var_file."?page=".$i."&".$option."'>$i</a> \n";
		}

		echo "<font size=2 color=red>".$this->var_currentPage."</font> \n";

		for($i=($this->var_currentPage+1); $i<($c+10) ; $i++) {
			if($i<=$this->var_totalPage)
			echo "<a href='".$this->var_file."?page=".$i."&".$option."'>$i</a> \n";
		}

		echo "</b> ";

		if($c>=0) {
			if(($c+10)<=$this->var_totalPage){
				$nextpage = $c+10;
				echo "<a href='".$this->var_file."?page=".$nextpage."&".$option."' title='10 หน้าถัดไป'>>></a> \n";
			}
			else
				echo ">>\n";
		}
		else{
			echo ">>\n";
		}
	
		echo "</td></tr>\n";
		echo "</table>\n";
	}# ปิด ฟังก์ชั่น _displayPage
} # ปิด Class
?>


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



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-05-18 14:50:50 By : domeawji View : 1000 Reply : 3
 

 

No. 1



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



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


ไม่มีใครทราบเลยเหรอครับเนี่ย ชีวิตเศร้า






Date : 2009-05-19 11:56:59 By : domeawji
 


 

No. 2



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

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

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


ถ้าไม่มี error อะไร ลองเปลี่ยน $obj->_setPage($page); เป็น $obj->_setPage($_GET["page"]);
Date : 2009-05-19 12:07:36 By : plakrim
 

 

No. 3



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



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


ขอบคุณมากๆครับ ทำได้แล้วครับ
Date : 2009-05-19 13:57:06 By : domeawji
 

   

ค้นหาข้อมูล


   
 

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