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

HOME > PHP > PHP Forum > ติดปัญกาแบ่งหน้า พอไปหน้า 2 ตัวแปรที่ใช้ค้นหา ไม่ไปด้วยครับ ขอคำแนะนำด้วยครับ



 

ติดปัญกาแบ่งหน้า พอไปหน้า 2 ตัวแปรที่ใช้ค้นหา ไม่ไปด้วยครับ ขอคำแนะนำด้วยครับ

 



Topic : 087105



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



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




ติดปัญกาแบ่งหน้า พอไปหน้า 2 ตัวแปรที่ใช้ค้นหา ไม่ไปด้วยครับ ขอคำแนะนำด้วยครับ
โดยตัวแปรที่ใช้อ้างอิงที่หน้าแรกของการค้นหาใน sql คือ $statement ซึ่งจะรวมตัวแปรไว้หลายตัวเลยครับ
CODE ที่ผมใช้รวมตัวแปรครับ

Code (PHP)
    	mysql_query("SET NAMES UTF8");
    	$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
    	$limit = 25;
    	$startpoint = ($page * $limit) - $limit;
        
        //to make pagination


        $statement = "parttime WHERE 1 ";
		
		if($_GET["radiozone"] != "")
	{
		$statement.= " AND zone = '".$_GET["radiozone"]."' ";
	}

	if($_GET["radiogender"] != "")
	{
		$statement.= " AND gender = '".$_GET["radiogender"]."' ";
	}
	if($_GET["name"] != "")
	{
		$statement.= " AND name = '".$_GET["name"]."' ";
	}
	if($_GET["surname"] != "")
	{
		$statement.= " AND surname = '".$_GET["surname"]."' ";
	}
	if($_GET["txtlocation"] != "")
	{
		$statement.= " AND (location1 = '".$_GET["txtlocation"]."' OR location2 = '".$_GET["txtlocation"]."' OR location3 = '".$_GET["txtlocation"]."')";
	}
	if($_GET["radiotime"] != "")
	{
		$statement.= " AND (time1 = '".$_GET["radiotime"]."' OR time2 = '".$_GET["radiotime"]."' OR time3 = '".$_GET["radiotime"]."')";
	}
	if($_GET["university"] != "")
	{
		$statement.= " AND university = '".$_GET["university"]."' ";
	}
	if($_GET["education"] != "")
	{
		$statement.= " AND education = '".$_GET["education"]."' ";
	}

	if($_GET["age"] != "") 
		{
			if($_GET["age"] == '1')
			{
				$statement.= "AND age BETWEEN '15' and '25'";
			}
			elseif($_GET["age"] == '2')
			{
				$statement.= "AND age BETWEEN '20' and '30'";
			}
			elseif($_GET["age"] == '3')
			{
				$statement.= "AND age BETWEEN '25' and '35'";
			}
			elseif($_GET["age"] == '4')
			{
				$statement.= "AND age BETWEEN '30' and '40'";
			}
		}
		if($_GET["hour"] != "") 
		{
			if($_GET["hour"] == '1')
			{
				$statement.= "AND hour > 50";
			}
			elseif($_GET["hour"] == '2')
			{
				$statement.= "AND hour > 100";
			}
			elseif($_GET["hour"] == '3')
			{
				$statement.= "AND hour > 200";
			}
			elseif($_GET["hour"] == '4')
			{
				$statement.= "AND hour > 300";
			}
			elseif($_GET["hour"] == '5')
			{
				$statement.= "AND hour > 400";
			}
			elseif($_GET["hour"] == '6')
			{
				$statement.= "AND hour > 500";
			}
			
		}
	$query = mysql_query("SELECT * FROM {$statement} LIMIT {$startpoint} , {$limit}");
?>




Tag : PHP, JavaScript, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-11-22 18:12:47 By : sranuwat View : 879 Reply : 11
 

 

No. 1



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

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

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


Code
}
if( isset($_REQUEST["statement"]) && !empty($_REQUEST["statement"]) ){
$statement = $_REQUEST["statement"];
}
echo "<input type=\"hidden\" name=\"statement\" value=\"$statement\" />";

$query = mysql_query("SELECT * FROM {$statement} LIMIT {$startpoint} , {$limit}");







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-22 19:42:43 By : sakuraei
 


 

No. 2



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : sakuraei เมื่อวันที่ 2012-11-22 19:42:43
รายละเอียดของการตอบ ::
...ลองแล้วยังไม่หายครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-22 22:30:42 By : sranuwat
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

อันนี้ของตัวอย่างที่ผมเขียนไว้ครับ เผื่อจะมีประโยชน์ครับ

Go to : PHP MySQL List Record Paging/Pagination
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 09:22:00 By : mr.win
 


 

No. 4



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



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


เรียน พี่วิน ผมนำวิธีการของพี่วินไปใช้ ก็ไปหน้า 2 แล้วเงื่อนไขหายเหมือนกันครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 11:47:57 By : sranuwat
 


 

No. 5



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



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


ฝากดูcode ให้ด้วยครับครับ

<body>
<?

$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
mysql_query("SET NAMES UTF8");
$objDB = mysql_select_db("parttime");
$strSQL = "SELECT * FROM parttime WHERE 1 {$statement}";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);

$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 .=" 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["id"];?></div></td>
<td><?=$objResult["name"];?></td>
<td><?=$objResult["surname"];?></td>
<td><div align="center"><?=$objResult["zone"];?></div></td>
<td align="right"><?=$objResult["hour"];?></td>
<td align="right"><?=$objResult["age"];?></td>
</tr>
<?
}
?>
</table>

<br>
Total <?= $Num_Rows;?> Record

<?

$pages = new Paginator;
$pages->items_total = $Num_Rows;
$pages->mid_range = 10;
$pages->current_page = $Page;
$pages->default_ipp = $Per_Page;
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";

$pages->paginate();

echo $pages->display_pages()
?>

<?
mysql_close($objConnect);
?>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 11:50:20 By : sranuwat
 


 

No. 6



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

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

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


เอาคลาส Paginator มาลงให้ดูหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 12:04:28 By : sakuraei
 


 

No. 7



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



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


คลาส Paginator ครับ

<?


if($_GET["radiozone"] != "")
{
$statement= " AND zone = '".$_GET["radiozone"]."' ";
}
echo $statement;
?>

<?
class Paginator{
var $items_per_page;
var $items_total;
var $current_page;
var $num_pages;
var $mid_range;
var $low;
var $high;
var $limit;
var $return;
var $default_ipp;
var $querystring;
var $url_next;

function Paginator()
{
$this->current_page = 1;
$this->mid_range = 7;
$this->items_per_page = $this->default_ipp;
$this->url_next = $this->url_next;
}
function paginate()
{

if(!is_numeric($this->items_per_page) OR $this->items_per_page <= 0) $this->items_per_page = $this->default_ipp;
$this->num_pages = ceil($this->items_total/$this->items_per_page);

if($this->current_page < 1 Or !is_numeric($this->current_page)) $this->current_page = 1;
if($this->current_page > $this->num_pages) $this->current_page = $this->num_pages;
$prev_page = $this->current_page-1;
$next_page = $this->current_page+1;


if($this->num_pages > 10)
{
$this->return = ($this->current_page != 1 And $this->items_total >= 10) ? "<a class=\"paginate\" href=\"".$this->url_next.$this->$prev_page."\">&laquo; Previous</a> ":"<span class=\"inactive\" href=\"#\">&laquo; Previous</span> ";

$this->start_range = $this->current_page - floor($this->mid_range/2);
$this->end_range = $this->current_page + floor($this->mid_range/2);

if($this->start_range <= 0)
{
$this->end_range += abs($this->start_range)+1;
$this->start_range = 1;
}
if($this->end_range > $this->num_pages)
{
$this->start_range -= $this->end_range-$this->num_pages;
$this->end_range = $this->num_pages;
}
$this->range = range($this->start_range,$this->end_range);

for($i=1;$i<=$this->num_pages;$i++)
{
if($this->range[0] > 2 And $i == $this->range[0]) $this->return .= " ... ";
if($i==1 Or $i==$this->num_pages Or in_array($i,$this->range))
{
$this->return .= ($i == $this->current_page And $_GET['Page'] != 'All') ? "<a title=\"Go to page $i of $this->num_pages\" class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" title=\"Go to page $i of $this->num_pages\" href=\"".$this->url_next.$i."\">$i</a> ";
}
if($this->range[$this->mid_range-1] < $this->num_pages-1 And $i == $this->range[$this->mid_range-1]) $this->return .= " ... ";
}
$this->return .= (($this->current_page != $this->num_pages And $this->items_total >= 10) And ($_GET['Page'] != 'All')) ? "<a class=\"paginate\" href=\"".$this->url_next.$next_page."\">Next &raquo;</a>\n":"<span class=\"inactive\" href=\"#\">&raquo; Next</span>\n";
}
else
{
for($i=1;$i<=$this->num_pages;$i++)
{
$this->return .= ($i == $this->current_page) ? "<a class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" href=\"".$this->url_next.$i."\">$i</a> ";
}
}
$this->low = ($this->current_page-1) * $this->items_per_page;
$this->high = ($_GET['ipp'] == 'All') ? $this->items_total:($this->current_page * $this->items_per_page)-1;
$this->limit = ($_GET['ipp'] == 'All') ? "":" LIMIT $this->low,$this->items_per_page";
}

function display_pages()
{
return $this->return;
}
}
?>
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 12:33:00 By : sranuwat
 


 

No. 8



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



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


เพิ่มเติมครับ

ีURL หน้าแสดงผลหน้าแรกครับ
http://localhost/parttime/Untitled-1.php?radiozone=CBD+1&txtlocation=&name=&surname=&age=&university=&education=&hour=&Submit=++Submit++

ีURL หน้าแสดงผลหน้าที่ 2 ครับ
http://localhost/parttime/Untitled-1.php?QueryString=value&Page=2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 12:38:43 By : sranuwat
 


 

No. 9



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



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


ขอขอบคุณทุกคนมากนะครับ
ตอนนี้แก้ได้แล้วครับ โดยแก้ตรงจุดนี้ครับ

$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&radiozone=".$_GET["radiozone"]."&radiogender=".$_GET["radiogender"]."
&name=".$_GET["name"]."&surname=".$_GET["surname"]."&txtlocation=".$_GET["txtlocation"]."&university=".$_GET["university"]."
&education=".$_GET["education"]."&age=".$_GET["age"]."&hour=".$_GET["hour"]."&radiotime=".$_GET["radiotime"]."&Page=";
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 14:03:58 By : sranuwat
 


 

No. 10



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

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

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


แก้ในคลาส Paginator ใช่หรือเปล่า ต้องเปิดดูทุกไฟล์ที่เกี่ยวข้องครับ... อิอิ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 14:07:30 By : sakuraei
 


 

No. 11



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



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


เปล่าครับ แก้ที่ CODE แสดงผลครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-11-23 14:51:07 By : sranuwat
 

   

ค้นหาข้อมูล


   
 

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