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 > การ saerch pagination codeigniter ทำยังไงขอคำแนะนำที



 

การ saerch pagination codeigniter ทำยังไงขอคำแนะนำที

 



Topic : 120324



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



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




ผมลอง แบ่งหน้า ตามวิดีโอของอาจารย์เนี้ยครับ

แต่อยาก ค้นหน้าข้อมูลแบบแบ่งหน้าอะครับไม่ทราบว่าต้องทำยังไง

อันนี้ส่วนของ controllter ครับ

Code (PHP)
<?php
	class Member extends CI_Controller
	{
		public function __construct()
		{
			parent::__Construct();
		}
		public function index()
		{
			$this->load->library('pagination');
			
			$config['base_url']=base_url()."index.php/member/index";
			$config['per_page']=5;
			$config['total_rows']=$this->db->count_all("tb_member");
			$this->pagination->initialize($config);
			
			
			
			
			
			
			
			
			$data['rs']=$this->db->select("member_id,member_name,member_tel")
			->from("tb_member")->limit($config['per_page'],$this->uri->segment(3))->get()->result_array();
		 
		 
		 
		 
		 
		 
		 
		 
		 $this->load->view("member/index",$data);
		 
		 
		 /* โค๊ดเดิม
		 $this->db->select("member_id,member_name,member_tel");
		 $this->db->from("tb_member");
		 $this->db->where($ar);
		 $rs = $this->db->get();
			*/
		
		/*chaining*/
		/*$this->db->select("member_id,member_name,member_tel")->from("tb_member")->where($ar);
		$rs = $this->db->get();
		*/
		
		/*chaining 2
		$rs=$this->db->select("member_id,member_name,member_tel")->from("tb_member")->where($ar)->get();
		 $data['rs'] = $rs->result_array();
		 */
		 
		 /*chaining 3*/
		}
		public function add()
		{
			if($this->input->post("btsave")!=null)
			{
				$ar = array(
				"member_name"=>$this->input->post("member_name"),
				"member_tel"=>$this->input->post("member_tel"),
				"member_address"=>$this->input->post("member_address")
				);
				$this->db->insert("tb_member",$ar);
				redirect("member","refresh");
				exit();
			}
			$this->load->view("member/add");	
		}
		
		
		public function edit($member_id)
		{
			if($this->input->post("btsave")!=null)
			{
				$ar = array(
				"member_name"=>$this->input->post("member_name"),
				"member_tel"=>$this->input->post("member_tel"),
				"member_address"=>$this->input->post("member_address")
				);
				$this->db->where("member_id",$member_id);
				$this->db->update("tb_member",$ar);
				redirect("member","refresh");
				exit();
			}
			
			
			$sql = "Select * from tb_member where member_id = '$member_id'";
			$rs = $this->db->query($sql);
			
			if($rs->num_rows()==0)
			{
				$data['rs']=array();	
			}
			else
			{
				$data['rs']=$rs->row_array();
			}
			
			
			
			
			$this->load->view("member/edit",$data);
		}
		
		
		
		
		public function del($member_id)
		{
			$this->db->delete("tb_member",array("member_id" => $member_id));
			
				redirect("member","refresh");
				exit();	
		}
	}
?>




อันนี้ส่วน view ครับ

Code (PHP)
<!DOCTYPE HTML>
<head>
<meta charset="utf-8">
<title>MEMBER</title>
</head>
<body>
	<h1>แสดงข้อมูล</h1>
    <?php echo anchor("member/add","เพิ่มข้อมูล");?>
   <table border="1">
   	<thead>
    	<tr>
        	<td>ลำดับ</td>
            <td>ชื่อ นามสกุล</td>
            <td>เบอร์โทรศัพท์</td>
            <td>ปรับแต่ง</td>
        </tr>
        <tbody>
	
        <?php
		if(count($rs)==0)
		{
			echo "<tr><td colspan='4' aglin='center'> no data </td></tr>";	
		}
		else
		{
			$no = $this->uri->segment(3)+1;
			foreach($rs as $r)
			{
			echo "<tr>";
			echo "<td align='center'> $no</td>";			
			echo "<td>".$r['member_name']."</td>";	
			echo "<td>".$r['member_tel']."</td>";
			echo "<td align='center'>";
			
			echo anchor("member/edit/".$r['member_id'],"แก้ไข")."&nbsp;";	
			echo anchor("member/del/".$r['member_id'],"ลบ",
			array("onclick"=>"javascript:return confirm('คุณต้องการลบหรือไม่?');"));		
			
			$no++;
			echo "</td>";
			echo "</tr>";
			
			}
		}
		?>
        
        
        
     	</tbody>
    </table>
    
    <?php echo $this->pagination->create_links();?>
</body>
</html>



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



Tag : PHP, CodeIgniter Framework







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-12-03 16:47:58 By : sarun09945282xx View : 1667 Reply : 3
 

 

No. 1



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



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


ไม่มีใครมาด้วย แต่ผมได้codeอันนึงน่าสนใจ ใครสนใจดูแล้วเข้าใจ code ทั้งหมด รึเข้าใจบ้างไม่เข้าใจบ้างยังไงมา
ช่วยๆกันอธิบายก็ได้ครับเพื่อจะมีประโยชน์กับใครๆ ที่ยังไม่เก่งเหมือนผม (ตัวอย่าง codeigniter ที่เป็นภาษาไทยนี้มันหายากจริงๆ)
ยังเข้าใจcode แค่นิดเดียว แต่ที่รู้ๆมันรันได้

http://www.kodingmadesimple.com/2015/10/codeigniter-pagination-with-search-query-example-bootstrap.html






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-03 17:54:12 By : sarun09945282xx
 


 

No. 2



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



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

ผมก็ไม่เก่งอะไรมากนะครับ ออกตัวไว้ก่อน แต่ผมเคยใช้ตัวนึง ได้จากที่นี่แหละ

ปล.จากตัวอย่างของคุณเองน่าจะเขียนด้วย MySQLi แล้วด้วยซึ่งผมยังไม่คุ้นเคยเลยเนี้ยสิ แต่ลองดูรูปแบบเดิม ๆ แล้วไปอ่านปรับแก้ไขกับของคุณดูก็ได้ครับ

Code (PHP)
<body>
<?  
$_POST["list"] = $_REQUEST["list"];
$_POST["txtbox"] = $_REQUEST["txtbox"];
$userSQL = "SELECT * FROM member WHERE (rang ='TEACHER' OR rang ='PK') AND 1 ";
if($_POST["list"] !="")
{
	if($_POST["list"]=="IDstd")
	{
		$userSQL .= " AND (IDstd LIKE '%".$_POST["txtbox"]."%') ";
		$userQ = mysql_query($userSQL);
		$Num = mysql_num_rows($userQ); 
		if($Num==0){ echo "<script type='text/javascript'>alert('ไม่มีข้อมูลทีค้นหา')</script>"; }
	}
	elseif($_POST["list"]=="name")
	{
		$userSQL .= " AND (fname LIKE '".$_POST["txtbox"]."%' OR lname LIKE '".$_POST["txtbox"]."%') ";
		$userQ = mysql_query($userSQL);
		$Num = mysql_num_rows($userQ); 
		if($Num==0){ echo "<script type='text/javascript'>alert('ไม่มีข้อมูลทีค้นหา')</script>"; }
	}
	else
	{
		$classroom = explode("/", $_POST["txtbox"]);
		$class = $classroom[0];
		$room = $classroom[1];
		if($class!="" && $room=="")
		{
			$userSQL .= " AND (class = '$class') ";
			$userQ = mysql_query($userSQL);
			$Num = mysql_num_rows($userQ); 
			if($Num==0){ echo "<script type='text/javascript'>alert('ไม่มีข้อมูลทีค้นหา')</script>"; }
		}
		else
		{
		$userSQL .= " AND (class = '$classroom[0]' AND room = '$classroom[1]') ";
		$userQ = mysql_query($userSQL);
		$Num = mysql_num_rows($userQ); 
		if($Num==0){ echo "<script type='text/javascript'>alert('ไม่มีข้อมูลทีค้นหา')</script>"; }
		}
	}
}
$userQuery = mysql_query($userSQL);
//เริ่มต้นโค้ดแบ่งหน้า
$Num_Rows = mysql_num_rows($userQuery); 
	
	$Per_Page = 50;   // 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;
	}
$strSort = $_GET["sort"];
if($strSort == "")
{
	$strSort = "IDstd"; //แก้
}
$strOrder = $_GET["order"];
if($strOrder == "")
{
	$strOrder = "ASC";
}
$userSQL .=" order  by ".$strSort." ".$strOrder." LIMIT $Page_Start , $Per_Page"; //แก้
$userQuery  = mysql_query($userSQL); //แก้
$strNewOrder = $strOrder == 'DESC' ? 'ASC' : 'DESC';
?>
<table border="0" align="center" cellpadding="3" cellspacing="1" class="tableraduis">
  <tr>
    <td><table border="0" align="center" cellpadding="3" cellspacing="1" class="simply">
      <thead>
        <tr>
          <th colspan="5" align="left">: : List of Teachers : :</th>
          <th align="right"><div id="opa"><a id="ADD" href="tea_add.php?&list=<?=$_REQUEST["list"];?>&txtbox=<?=$_REQUEST["txtbox"];?>&sort=<?=$_REQUEST["sort"];?>&order=<?=$strNewOrder?>" class="fancybox" title="เพิ่มรายชื่อใหม่"><img src="images/add.png" width="32" height="32" /></a></div></th>
        </tr>
        <tr>
          <th colspan="6" align="left">
          <form id="memberlist" name="memberlist" method="post" action="" OnSubmit="return fncSubmit();">
            ค้นหาโดย
                <label>
                <select name="list" id="list" class="textbox" style="width:110px; height:35px;">
                  <option value="select" selected="selected">---เลือก----</option>
                  <option value="IDstd" <? if($_POST["list"]=="IDstd"){echo"selected";}?>>เลขประจำตัว</option>
                  <option value="name" <? if($_POST["list"]=="name"){echo"selected";}?>>ชื่อ-นามสกุล</option>
                  <option value="classroom" <? if($_POST["list"]=="classroom"){echo"selected";}?>>ชั้น/ห้อง</option>
                  <option value="status" <? if($_POST["list"]=="status"){echo"selected";}?>>สถานะปัจจุบัน</option>
                </select>
                </label>
                สิ่งที่ต้องการค้นหา
                <label>
                <input type="text" name="txtbox" id="txtbox" class="textbox" style="width:150px;" value="<? if($_POST["txtbox"]!=""){$text= $_POST["txtbox"]; echo $text;}?>" autocomplete="off" />
                </label>
                <label>
                <input name="Submit" type="submit" class="Button" id="Submit" value="ค้นหา" />
                </label>
          </form></th>
        </tr>
        <tr>
          <th colspan="6" align="left"><div class="Pagingtext">
          ทั้งหมด <?= $Num_Rows;?> รายชื่อ : จำนวน <?=$Num_Pages;?> หน้า :
		  <?
		  $Page1 = $Page-2;
$Page2 = $Page+2;
if($Prev_Page)
{
	echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++)
{		
	if($i != $Page && $i >= $Page1 && $i <= $Page2)
	{
	echo "<a class='Pagingnow' href='$_SERVER[SCRIPT_NAME]?Page=$i&list=".$_POST['list']."&txtbox=".$_POST['txtbox']."&sort=$strSort&order=$strOrder'>$i</a>";
	}
	elseif($i==$Page)
	{
	echo "<a class='Paging' href='$_SERVER[SCRIPT_NAME]?Page=$i&list=".$_POST['list']."&txtbox=".$_POST['txtbox']."&sort=$strSort&order=$strOrder'>$i</a>";
	}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page'>Next>></a> ";
}
			?></div></th>
        </tr>
        <tr align="center">
          <th class="textpage"><a href="<?=$_SERVER["SCRIPT_NAME"];?>?sort=IDstd&order=<?=$strNewOrder?>&amp;list=<?=$_POST['list']?>&amp;txtbox=<?=$_POST['txtbox']?>">เลขประจำตัว</a></th>
          <th class="textpage"><a href="<?=$_SERVER["SCRIPT_NAME"];?>?sort=fname&order=<?=$strNewOrder?>&amp;list=<?=$_POST['list']?>&amp;txtbox=<?=$_POST['txtbox']?>">ชื่อ-นามสกุล</a></th>
          <th class="textpage"><a href="<?=$_SERVER["SCRIPT_NAME"];?>?sort=class&order=<?=$strNewOrder?>&amp;list=<?=$_POST['list']?>&amp;txtbox=<?=$_POST['txtbox']?>">ที่ปรึกษาชั้น/ห้อง</a></th>
          <th class="textpage"><a href="<?=$_SERVER["SCRIPT_NAME"];?>?sort=status&order=<?=$strNewOrder?>&amp;list=<?=$_POST['list']?>&amp;txtbox=<?=$_POST['txtbox']?>">สถานะปัจจุบัน</a></th>
          <th colspan="2" class="textpage">&nbsp;</th>
        </tr>
      </thead>
      <?
while($userResult = mysql_fetch_array($userQuery))
{
?>
      <tr>
        <td align="center"><?=$userResult["IDstd"]; ?></td>
        <td align="center"><?=$userResult["fname"]; ?>
          &nbsp;
          <?=$userResult["lname"]; ?></td>
        <td align="center"><?=$userResult["class"]; ?>
/
  <?=$userResult["room"]; ?></td>
        <td align="center">
		<?
        $statusSQL = "SELECT * FROM status_user ORDER BY statusID ASC";
		$statusQu = mysql_query($statusSQL);
        while($statusResult = mysql_fetch_array($statusQu))
		{
			if($userResult["status"] == $statusResult["Name"]){
			echo $statusResult["DesTH"];
			}
		}
		?>        </td>
        <td align="right"><div id="opa"><a id="EDIT" href="tea_edit.php?IDstd=<?=$userResult["IDstd"];?>&list=<?=$_REQUEST["list"];?>&txtbox=<?=$_REQUEST["txtbox"];?>&sort=<?=$_REQUEST["sort"];?>&order=<?=$strNewOrder?>" class="fancybox" title="แก้ไขข้อมูลของ <?=$userResult["Prefix"]; ?><?=$userResult["fname"]; ?>  <?=$userResult["lname"]; ?>"><img src="images/edit.png" width="32" height="32" border="0" /></a></div></td>
        <td align="left"><div id="opa"><a id="DEL" href="del_user.php?IDstd=<?=$userResult["IDstd"];?>&list=<?=$_REQUEST["list"];?>&txtbox=<?=$_REQUEST["txtbox"];?>&sort=<?=$_REQUEST["sort"];?>&order=<?=$strNewOrder?>" class="fancybox" title="ลบข้อมูลของ <?=$userResult["Prefix"]; ?><?=$userResult["fname"]; ?>  <?=$userResult["lname"]; ?>"><img src="images/del.png" width="32" height="32" border="0" /></a></div></td>
      </tr>
      <?
}
?>
    </table>
    </td>
  </tr>
</table>
<?
mysql_close();
?>
</body>


หน้าแสดง
pa

แต่พอดีว่าข้อมูลยังน้อยนะครับ แต่แบ่งหน้าได้ ลดจำนวนหน้าด้วย แบบ แสดง 1 2 3 4 ..... 17 18 19 20 อะไรแบบนี้
คงการค้นหาไว้ด้วยแม้จะกดเปลี่ยนหน้า


ประวัติการแก้ไข
2015-12-03 19:32:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-03 19:26:42 By : akkaneetha
 

 

No. 3



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



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


ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-12-03 23:24:36 By : sarun09945282xx
 

   

ค้นหาข้อมูล


   
 

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