Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 108,061

HOME > PHP > PHP Forum > การ ค้นหา และ Pagination ทำงานร่วมกันไม่ได้ ขอแนวทางวิธีการแก้ไขหน่อยค่ะ



 

การ ค้นหา และ Pagination ทำงานร่วมกันไม่ได้ ขอแนวทางวิธีการแก้ไขหน่อยค่ะ

 



Topic : 133371



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



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




การแบ่งหน้าสามารถทำได้ปกติค่ะ แต่เมื่อค้นหาข้อมูล ไม่ยอมค้นหาข้อมูลที่พิมพืเข้าไปค่ะ มีใครพอทราบไหมคะว่า ใช้โค้ดส่วนไหนผิดบ้าง หรือมีแนวทางวิธีอื่นที่ง่ายกว่านี้

index.php
Code (PHP)
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Thai ID Cloud
    </title>
    <link href="http://aunjai.com/thaiidcloudv2/bootstrap-theme.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/dt-1.10.18/datatables.min.css"/>
    <link href="css/style.css" rel="stylesheet" type="text/css">
    
    <script type="text/javascript" src="js/Jquery_1.5.2.main.js"></script> 
    <script type="text/javascript" src="js/vpb_pagination.js"></script> 
    <script src="js/google.jquery.js"></script>
	  <script src="js/jquery-3.3.1.min.js"></script>
	  <script src="js/jquery-1.12.4.js"></script>
    <script src="jquery-1.11.2.min.js"></script>
	  <script src="js/jquery-ui.js"></script>
	  <script src="js/font-awesome.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/datatables.min.js"></script>
    <script src="js/show.js"></script>
    <script src="js/search.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js">
    </script> 
  </head>
  <body>
    <nav class="navbar navbar-expand-md navbar-dark bg-dark" >
      <a class="navbar-brand text-white" href="#">Thai ID Cloud
      </a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTogglerDemo02" aria-controls="navbarTogglerDemo02" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon">
          <i class="fa fa-navicon">
          </i>
        </span>
      </button>
      <div class="collapse navbar-collapse" id="navbarTogglerDemo02">
        <ul class="navbar-nav mr-auto mt-2 mt-md-0">
          <li class="nav-item active">
            <a class="nav-link text-white" href="#">Home 
              <span class="sr-only">(current)
              </span>
            </a>
          </li>
          <li class="nav-item">
            <a class="nav-link text-white" href="manager_user.php">Member setting
            </a>
          </li>
          <li class="nav-item">
            <a class="nav-link text-white" href="update_profile.php">User Account
            </a>
          </li>
          &emsp; &emsp; &emsp;&emsp; &emsp; &emsp;&emsp; &emsp; &emsp;&emsp; &emsp; &emsp;&emsp; &emsp; &emsp;&emsp; &emsp; &emsp;
          <li class="nav-item">
            <a class="nav-link text-white"> 
              <?php
    echo "ยินดีต้อนรับ คุณ" . $_SESSION["Name"];
    ?> 
            </a>
          </li>
          &emsp; &emsp; &emsp;&emsp; &emsp; &emsp;&emsp; &emsp; &emsp;&emsp; &emsp; &emsp;
          <ul class="nav justify-content-end">
          <li class="nav-item" >
          <a class="nav-link text-white" href="http://aunjai.com/thaiidcloudv2.1/logout.php">ออกจากระบบ</a>
          </li>
          </ul>
        </ul>
      </div>
    </nav>
    <div class="container">
      <nav class="navbar navbar-light bg-light">
        <div class="row">
          <div class="col-md-12">
            <form class="form-inline" name="searchform" id="searchform"  method="get" action="">
              <div class="form-group">
              <div class="input-group mb-3">
              <input type="text" class="form-control" placeholder="พิมพ์เพื่อค้นหา" name="keyword" id="keyword" value="<?=(isset($_GET['keyword']))?$_GET['keyword']:""?>">
              <div class="input-group-append">
            <button type="submit" class="btn btn-primary" id="btnSearch" >        
            ค้นหา
            </button>
          </div>             
      </div>
              
                
                 </div> 
            </form>
          </div>
         
        </div>
      </nav>
      <div class="loading">
      </div>
      <div class="row" id="list-data" style="margin-top: 10px;">
      </div>
    </div>
    
    

<!-- Code Begins -->

<form method="post" name="form3" id="form3" target="_blank" ;>
<div class="container" id="vpb_pagination_system_displayer">

</div>
<center>
<input type="button" value="PDF Download" class="btn btn-primary"  onClick="this.form.action='genpdf5.php'; submit()">
<input type="button" value="CSV Download" class="btn btn-primary"  onClick="this.form.action='csvgen.php'; submit()">
</form>
<!-- This will display the content along with the pagination  -->

<!-- Code Ends -->
<p style="padding-bottom:10px;">&nbsp;</p>
</center>




content_displayer.php
Code (PHP)
<?php

/********************************************************************************
* This script is brought to you by Vasplus Programming Blog by whom all copyrights are reserved.
* Website: www.vasplus.info
* Email: [email protected]
* Do not remove this copyright information from the top of this code.
*********************************************************************************/
include("config.php");

$Keyword = $_POST["txtKeyword"];
if(isset($_POST['page']) && !empty($_POST['page']))
{
	$vpb_page_limit = 15; //This is the number of contents to display on each page
	
	$vpb_check_contents = mysql_query("SELECT COUNT(*) as num FROM `ThaiIDCard` ORDER BY `id` ");
	$vpb_get_total_pages = mysql_fetch_array($vpb_check_contents);
	$vpb_get_total_pages = $vpb_get_total_pages[num];
	
	$vpb_pagination_stages = 1;
	$vpb_current_page = strip_tags($_POST['page']);
	$vpb_start_page = ($vpb_current_page - 1) * $vpb_page_limit;
	
	
	//This initializes the page setup
	if($vpb_current_page == 0) { $vpb_current_page = 1; }
	$vpb_previous_page = $vpb_current_page - 1;	
	$vpb_next_page = $vpb_current_page + 1;							
	$vpb_last_page = ceil($vpb_get_total_pages/$vpb_page_limit);		
	$vpb_lastpaged = $vpb_last_page - 1;					
	$vpb_pagination_system = '';
	if($vpb_last_page > 1)
	{	
		$vpb_pagination_system .= "<div class='vpb_pagination_system'>";
		// Previous Page
		if ($vpb_current_page > 1) { $vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_previous_page\");'><</a>"; }
		else { $vpb_pagination_system.= "<span class='disabled'><</span>"; }
		// Pages	
		if ($vpb_last_page < 3 + ($vpb_pagination_stages * 1))	// Not enough pages to breaking it up
		{	
			for ($vpb_page_counter = 1; $vpb_page_counter <= $vpb_last_page; $vpb_page_counter++)
			{
				if ($vpb_page_counter == $vpb_current_page) {
					$vpb_pagination_system.= "<span class='current'>$vpb_page_counter</span>";
				}
				else {
					$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_page_counter\");'>$vpb_page_counter</a>";
				}					
			}
		}
		elseif($vpb_last_page > 3 + ($vpb_pagination_stages * 1))	// This hides few pages when the displayed pages are much
		{
			//Beginning only hide later pages
			if($vpb_current_page < 1 + ($vpb_pagination_stages * 2))		
			{
				for ($vpb_page_counter = 1; $vpb_page_counter < 3 + ($vpb_pagination_stages * 1); $vpb_page_counter++)
				{
					if ($vpb_page_counter == $vpb_current_page) {
						$vpb_pagination_system.= "<span class='current'>$vpb_page_counter</span>";
					}
					else {
						$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_page_counter\");'>$vpb_page_counter</a>";
					}					
				}
				$vpb_pagination_system.= "...";
				//$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_lastpaged\");'>$vpb_lastpaged</a>";
				$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_last_page\");'>$vpb_last_page</a>";		
			}
			//Middle hide some front and some back
			elseif($vpb_last_page - ($vpb_pagination_stages * 2) > $vpb_current_page && $vpb_current_page > ($vpb_pagination_stages * 1))
			{
				$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"1\");'>1</a>";
				//$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"2\");'>2</a>";
				$vpb_pagination_system.= "...";
				for ($vpb_page_counter = $vpb_current_page - $vpb_pagination_stages; $vpb_page_counter <= $vpb_current_page + $vpb_pagination_stages; $vpb_page_counter++)
				{
					if ($vpb_page_counter == $vpb_current_page) {
						$vpb_pagination_system.= "<span class='current'>$vpb_page_counter</span>";
					}
					else {
						$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_page_counter\");'>$vpb_page_counter</a>";
					}					
				}
				$vpb_pagination_system.= "...";
				//$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_lastpaged\");'>$vpb_lastpaged</a>";
				$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_last_page\");'>$vpb_last_page</a>";		
			}
			//End only hide early pages
			else
			{
				$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"1\");'>1</a>";
				//$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"2\");'>2</a>";
				$vpb_pagination_system.= "...";
				for ($vpb_page_counter = $vpb_last_page - (1 + ($vpb_pagination_stages * 1)); $vpb_page_counter <= $vpb_last_page; $vpb_page_counter++)
				{
					if ($vpb_page_counter == $vpb_current_page) {
						$vpb_pagination_system.= "<span class='current'>$vpb_page_counter</span>";
					}
					else {
						$vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_page_counter\");'>$vpb_page_counter</a>";
					}					
				}
			}
		}		
		//Next Page
		if ($vpb_current_page < $vpb_page_counter - 1) { $vpb_pagination_system.= "<a href='javascript:void(0);' onclick='vpb_pagination_system(\"$vpb_next_page\");'>></a>"; }
		else { $vpb_pagination_system.= "<span class='disabled'>></span>"; }
		$vpb_pagination_system.= "</div>";		
	}
	
	//Check the contents for this page from the database
	if(isset($_GET['keyword']) && $_GET['keyword']!=""){
	$vpb_check_contents_second = mysql_query("SELECT * FROM ThaiIDCard from ThaiIDCard inner JOIN Gender ON ThaiIDCard.gender = Gender.gender WHERE dateread LIKE '%".$_GET['keyword']."%' 
	or timeread LIKE '%".$_GET['keyword']."%'
	or id LIKE '%".$_GET['keyword']."%'
	or objective LIKE '%".$_GET['keyword']."%'
	or warning LIKE '%".$_GET['keyword']."%'
	or issuenum LIKE '%".$_GET['keyword']."%'
	or idnum LIKE '%".$_GET['keyword']."%'
	or titleT LIKE '%".$_GET['keyword']."%'
	or nameT LIKE '%".$_GET['keyword']."%'
	or midnameT LIKE '%".$_GET['keyword']."%'
	or surnameT LIKE '%".$Keyword."%'
	or homenum LIKE '%".$_GET['keyword']."%'
	or moo LIKE '%".$_GET['keyword']."%'
	or trok LIKE '%".$_GET['keyword']."%'
	or soi LIKE '%".$_GET['keyword']."%'
	or thanon LIKE '%".$_GET['keyword']."%'
	or tambon LIKE '%".$_GET['keyword']."%'
	or amphur LIKE '%".$_GET['keyword']."%'
	or province LIKE '%".$_GET['keyword']."%'
	or gendername LIKE '%".$_GET['keyword']."%'
	or birthdate LIKE '%".$_GET['keyword']."%'
	or issueplace LIKE '%".$_GET['keyword']."%'
	or issuedate LIKE '%".$_GET['keyword']."%'
	or expirydate LIKE '%".$_GET['keyword']."%'
	or app LIKE '%".$_GET['keyword']."%'
	or reader LIKE '%".$_GET['keyword']."%' ORDER BY `id` LIMIT $vpb_start_page, $vpb_page_limit");
	}
	elseif($_GET['keyword']==""){
		$vpb_check_contents_second = mysql_query("SELECT * FROM `ThaiIDCard` ORDER BY `id` LIMIT $vpb_start_page, $vpb_page_limit");	
	}
	
	
	if(mysql_num_rows($vpb_check_contents_second) < 1)
	{
	  echo "<div class='info'>Currently, there are no content in the database to display at the moment. Thanks...</div>";
	}
	else
	{
		?>
		<div class="container">
		<div class="row">
    
      
			<?php
			$i = 1;
		//Get all contents for this page from the database and display on the screen to the user
		while ($result = mysql_fetch_array($vpb_check_contents_second))
		{				  
				$birthdateT = strtotime($result['birthdate']);
				$birthdateS = date("d-m-Y", $birthdateT);
				
	
			?>
			<div class="col-md-4">
				<div class="cliente">
				<p style="padding-bottom:7px;"></p> 
			  <input id = "event_id" type="hidden" value="<?echo $result['id']?>">
			  <div class="media d-md-inline-flex " id= "media"  > 
			  
										
				<img id = "<?echo $result['id']?>" class="mr-3 rounded-circle align-self-center view_data" src="data:image/jpg;base64,<?php echo $result['photo'];?>" 
					 alt="Generic placeholder image" width="80" hight="80"  > 
				
				<div class="media-body view_data2" id = "<?echo $result['id']?>">
			   
				  <p class="mb-0 ">
				  <h5> 
					<?php echo $result['titleT'] . "   " . $result['nameT'];?>
				  </h5>
				  <?php echo $result['surnameT'];?>
				  <br>
				  <?php echo $result['idnum'];?>
				  <br>
				  <?php echo $birthdateS;?>
				  <br>
				  <?php echo $result['province'];?>
				  <br>
				  <p style="padding-bottom:7px;"></p> 
				  
				</div>
				<input name="chk[]" type="checkbox"  value="<?php echo $result['id'];?>">
			  </div>
			  </div>
			</div>
			
			<?php $i++; } ?>
			
		  </div>
		  </div>
      <br clear="all" />
		   <?php
		
		?>
        <br clear="all" />
		<div style="" align="left"><?php echo $vpb_pagination_system; ?></div><!-- This is the pagination buttons -->
        <br clear="all" />
		<?php
	}	
}
?>




Tag : PHP, HTML, JavaScript, Ajax







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-03-26 16:43:55 By : yanikanaja View : 234 Reply : 7
 

 

No. 1



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



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


https://www.thaicreate.com/php/forum/122621.html






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-03-27 05:55:43 By : mr.v
 


 

No. 2



โพสกระทู้ ( 8,111 )
บทความ ( 2 )



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


$vpb_check_contents = mysql_query("SELECT COUNT(*) as num FROM `ThaiIDCard` ORDER BY `id` ");
เวลาคุณ count จำนวน ต้อง กำหนด condition เหมือนกันกับ statement ที่นำมาแสดงผล
$vpb_check_contents = mysql_query("SELECT COUNT(*) as num FROM `ThaiIDCard` where (Condition) ORDER BY `id` ");

และ MySQL มีคำสั่ง SQL_CALC_FOUND_ROWS ช่วยนับจำนวน rows ทั้งหมด ก่อนการตัด limit
Code (PHP)
$page = 1; $perpage = 25; $start = $page * $perpage - $perpage;
$result = mysql_query("SELECT SQL_CALC_FOUND_ROWS * 
FROM `ThaiIDCard` 
where (Condition) 
ORDER BY `id` 
limit $start, $perpage ");
$all_rows = mysql_fetch_array( mysql_query('select FOUND_ROWS()') )[0];
$all_page = $all_rows / $perpage;

https://www.thaicreate.com/php/forum/121804.html

ส่วนการทำ pagination ก็ดูจากคห1 นะครับ ศึกษาให้ดีจะได้ประโยชน์มากๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-03-27 06:49:46 By : Chaidhanan
 

 

No. 3



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



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


ขอขอบคุณ คห1. และ คห.2 มากๆ ค่ะ ขอเวลาศึกษา สักครู่นะคะ ถ้าได้แล้วจะมาแจ้งให้ทราบ ค่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-03-27 10:12:20 By : yanikanaja
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.v เมื่อวันที่ 2019-03-27 05:55:43
รายละเอียดของการตอบ ::
การแบ่ง + search และ Filter สามารถทำงานร่วมกันได้แล้วค่ะ

แต่ยังติดอยู่ที่ว่า เมื่อเปิด url ในมือถือแล้วไม่เป็นแบบ responsive



การแสดงผล บนหน้าจอคอมค่ะ
search

การแสดงผล บนหน้าจอโฟนค่ะ
search2

การแสดงผล บนหน้าจอโฟนก่อนที่จะแบ่งหน้าค่ะ
search3
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-03-28 16:22:21 By : yanikanaja
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : yanikanaja เมื่อวันที่ 2019-03-28 16:22:21
รายละเอียดของการตอบ ::
ปัญหานี้อยู่ที่การใช้ class ใน html แล้วครับ กำหนดให้มันถูกมันก็ได้เอง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-03-28 22:02:08 By : mr.v
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : mr.v เมื่อวันที่ 2019-03-28 22:02:08
รายละเอียดของการตอบ ::
เดี๋ยวจะลองไล่ดูนะคะ ขอบคุณมากๆค่ะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-03-29 09:52:07 By : yanikanaja
 


 

No. 7



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



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


ตรวจดู viewport ด้วยว่าไปลบมันหรือเปล่า ถ้าใช้พวก bootstrap อะไรงี้มันจะต้องมีด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-03-29 14:31:17 By : mr.v
 

   

ค้นหาข้อมูล


   
 

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

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2020 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่