|
|
|
การค้นหาจาก db แบบเก็บค่าไว้ใน textbox เหมือนแบบ google |
|
|
|
|
|
|
|
ผมต้องการค้นหาข้อมูลที่เก็บใน db เหมือนอย่างที่ google ทำนะครับ
คือ เก็บค่าที่ต้องการค้นหาไว้ใน textbox ตลอด ดังภาพด้านล่าง
แต่งของของผม เมื่อมีการค้นหาและแบ่งแสดงข้อมูลออกมาเป็นหน้าๆไว้..
หน้าแรกแสดงออกมาได้ถูกต้อง แต่พอคลิกหน้า 2,3,หน้าถัดไป แล้วมันไม่เก็บ keyword เดิมไว้ใน
textbox เมื่อคลิกที่ปุ๋มค้นหา แต่จะแสดงข้อมูลออกมาแบบปกติ เหมือนไม่ได้ใส่ keyword อะไรไว้
ดังภาพ ด้านล่างนี้ ท่านใดพอจะให้คำแนะนำได้..ขอบคุณล่วงหน้าครับผม
โค้ดครับ
Code (PHP)
<?php
//initialize the session
if (!isset($_SESSION)) {
session_start();
}
// ** Logout the current user. **
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true";
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){
$logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){
//to fully log out a visitor we need to clear the session varialbles
$_SESSION['MM_Username'] = NULL;
$_SESSION['MM_UserGroup'] = NULL;
$_SESSION['PrevUrl'] = NULL;
unset($_SESSION['MM_Username']);
unset($_SESSION['MM_UserGroup']);
unset($_SESSION['PrevUrl']);
$logoutGoTo = "../index.php";
if ($logoutGoTo) {
header("Location: $logoutGoTo");
exit;
}
}
?>
<?php
if (!isset($_SESSION)) {
session_start();
}
$MM_authorizedUsers = "";
$MM_donotCheckaccess = "true";
// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
// For security, start by assuming the visitor is NOT authorized.
$isValid = False;
// When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
// Therefore, we know that a user is NOT logged in if that Session variable is blank.
if (!empty($UserName)) {
// Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
// Parse the strings into arrays.
$arrUsers = Explode(",", $strUsers);
$arrGroups = Explode(",", $strGroups);
if (in_array($UserName, $arrUsers)) {
$isValid = true;
}
// Or, you may restrict access to only certain users based on their username.
if (in_array($UserGroup, $arrGroups)) {
$isValid = true;
}
if (($strUsers == "") && true) {
$isValid = true;
}
}
return $isValid;
}
$MM_restrictGoTo = "../index.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {
$MM_qsChar = "?";
$MM_referrer = $_SERVER['PHP_SELF'];
if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0)
$MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
header("Location: ". $MM_restrictGoTo);
exit;
}
?>
<?php require_once('../Connections/sc_number.php'); ?>
<!doctype html>
<html xmlns:spry="http://ns.adobe.com/spry">
<head>
<meta charset="utf-8">
<title>SC Number Phono Information</title>
<link rel="stylesheet" href="../css/my_style.css">
<link rel="stylesheet" type="text/css" href="../js/jquery-ui-1.10.3/themes/base/jquery.ui.tooltip.css">
<link rel="stylesheet" type="text/css" href="../class/Paginator_css.css">
<script src="../js/jquery-ui-1.10.3/jquery-1.9.1.js"></script>
<script src="../js/jquery-ui-1.10.3/ui/jquery.ui.core.js"></script>
<script src="../js/jquery-ui-1.10.3/ui/jquery.ui.widget.js"></script>
<script src="../js/jquery-ui-1.10.3/ui/jquery.ui.position.js"></script>
<script src="../js/jquery-ui-1.10.3/ui/jquery.ui.tooltip.js"></script>
<!-- <link rel="stylesheet" type="text/css" href="../js/jquery-ui-1.10.3/demos/demos.css"> -->
<script>
$(function() {
$( document ).tooltip({
position: {
my: "center bottom-20",
at: "center top",
using: function( position, feedback ) {
$( this ).css( position );
$( "<div>" )
.addClass( "arrow" )
.addClass( feedback.vertical )
.addClass( feedback.horizontal )
.appendTo( this );
}
}
});
});
</script>
<style>
.ui-tooltip, .arrow:after {
background: black;
border: 2px solid white;
}
.ui-tooltip {
padding: 10px 20px;
color: white;
border-radius: 20px;
font: bold 14px "Helvetica Neue", Sans-Serif;
text-transform: uppercase;
box-shadow: 0 0 7px black;
}
.arrow {
width: 70px;
height: 16px;
overflow: hidden;
position: absolute;
left: 50%;
margin-left: -35px;
bottom: -16px;
}
.arrow.top {
top: -16px;
bottom: auto;
}
.arrow.left {
left: 20%;
}
.arrow:after {
content: "";
position: absolute;
left: 20px;
top: -20px;
width: 25px;
height: 25px;
box-shadow: 6px 5px 9px -9px black;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
tranform: rotate(45deg);
}
.arrow.top:after {
bottom: -20px;
top: auto;
}
</style>
</head>
<body>
<table width="1051" border="0">
<tr bgcolor="#CCFFFF">
<td><strong><a href="frmPhone.php">หน้าแรก</a></strong></td>
<td><strong><a href="frmPhone.php">ข้อมูลโทรศัพท์</a></strong></td>
<td><strong><a href="frmNetwork.php">เครือข่าย</a></strong></td>
<td><strong><a href="frmCustomer.php">ลูกค้า</a></strong></td>
<td><strong><a href="frmEmployee.php">พนักงาน</a></strong></td>
<td><strong><a href="frmOrder.php">ข้อมูลการขาย</a></strong></td>
<td><strong><a href="frmCategory.php">หมวดหมู่ซิม</a></strong></td>
<td><strong><a href="frmPromotion.php">โปรโมชั่น</a></strong></td>
<td><strong><a href="frmStatus.php">ข้อมูลสถานะโทรศัพท์</a></strong></td>
<td><strong><a href="frmUser.php">จัดการผู้ใช้ในระบบ</a></strong></td>
<td><a href="<?php echo $logoutAction ?>">Log out</a></td>
</tr>
</table>
<p> </p>
<form name="frmSearch" action="frmPhone.php" method="POST" >
<table width="800" border="0" id="newspaper-b">
<tr>
<td>เงื่อนไข</td>
<td><select name="search_by" id="search_by">
<option value="phone_number" <?if($_POST["search_by"]=="phone_number"){echo"selected";}?>หมายเลขโทรศัพท์
</option>
<option value="serial_number" <?if($_POST["search_by"]=="serial_number"){echo"selected";}?>serial_number
</option>
<option value="network_name" <?if($_POST["search_by"]=="network_name"){echo"selected";}?>เครือข่าย
</option>
<option value="status_name" <?if($_POST["search_by"]=="status_name"){echo"selected";}?>สถานะ
</option>
<option value="category_name" <?if($_POST["search_by"]=="category_name"){echo"selected";}?>หมวดหมู่ซิม
</option>
<option value="cost" <?if($_POST["search_by"]=="cost"){echo"selected";}?>ราคาทุน
</option>
<option value="unit_price" <?if($_POST["search_by"]=="unit_price"){echo"selected";}?>ราคาขาย
</option>
<option value="profit" <?if($_POST["search_by"]=="profit"){echo"selected";}?>กำไร
</option>
<option value="balance" <?if($_POST["search_by"]=="balance"){echo"selected";}?>คงเหลือ
</option>
<option value="pre_active_date" <?if($_POST["search_by"]=="pre_active_date"){echo"selected";}?>เปฺิดใช้งานก่อน
</option>
<option value="expire_date" <?if($_POST["search_by"]=="expire_date"){echo"selected";}?>วันหมดอายุ
</option>
<option value="refill_next" <?if($_POST["search_by"]=="refill_next"){echo"selected";}?>กำหนดเติมเงิน
</option>
<option value="pro_name" <?if($_POST["search_by"]=="pro_name"){echo"selected";}?>โปรโมชั่น
</option>
</select></td>
<td>
<input type="text" name="search" size="50" id="" value="" title="ใส่ค่าที่ต้องการค้นหา">
</td>
<td><input type="submit" name="buttonSearch" id="buttonSearch" value="Search"></td>
<td><a href="frmPhoneInsert.php">
<input type="submit" name="add_new" id="add_new" value="Add New">
</a></a><a href="frmPhoneInsert.php"></a></td>
<td> </td>
</tr>
</table>
</form>
<br>
<table width="1382" border="1" id="">
<tr bgcolor="#CCFFFF">
<th>ID</th>
<th>serial number</th>
<th>หมายเลขโทรศัพท์</th>
<th>เครือข่าย</th>
<th>สถานะ</th>
<th>หมวดหมู่</th>
<th>ราคาทุน</th>
<th>ราคาขาย</th>
<th>กำไร</th>
<th>คงเหลือ</th>
<th>เปิดใช้งานก่อน</th>
<th>หมดอายุ</th>
<th>เติมเงินครั้งต่อไป</th>
<th>โปรโมชั่น</th>
<th>Edit</th>
<th>Delete</th>
</tr>
<?php
if(isset($_POST['search']) == "")
{
$sql ="SELECT p.id, p.serial_number, p.phone_number, n.network_name, s.status_name, c.category_name, p.cost, p.unit_price, p.profit, p.balance, p.pre_active_date, p.expire_date, p.refill_next, pr.pro_name FROM phone AS p , network AS n , `status` AS s , category AS c , promotion AS pr WHERE p.network_id = n.network_id AND p.category_id = c.category_id AND p.status_id = s.status_id AND p.pro_id = pr.pro_id order by p.id";
}
else if($_POST['search_by'] == "expire_date")
{
$sql = "SELECT p.id, p.serial_number, p.phone_number, n.network_name, s.status_name, c.category_name, p.cost, p.unit_price, p.profit, p.balance, p.pre_active_date, p.expire_date, p.refill_next, pr.pro_name FROM phone AS p , network AS n , `status` AS s , category AS c , promotion AS pr WHERE p.network_id = n.network_id AND p.category_id = c.category_id AND p.status_id = s.status_id AND p.pro_id = pr.pro_id ";
$sql .= " AND p.expire_date LIKE '".$_POST['search']."%' ORDER BY p.expire_date";
//Sdate_time like '2010-03%'
}
else if($_POST['search_by'] == "pre_active_date")
{
$sql = "SELECT p.id, p.serial_number, p.phone_number, n.network_name, s.status_name, c.category_name, p.cost, p.unit_price, p.profit, p.balance, p.pre_active_date, p.expire_date, p.refill_next, pr.pro_name FROM phone AS p , network AS n , `status` AS s , category AS c , promotion AS pr WHERE p.network_id = n.network_id AND p.category_id = c.category_id AND p.status_id = s.status_id AND p.pro_id = pr.pro_id ";
$sql .= " AND p.pre_active_date LIKE '".$_POST['search']."%' ORDER BY p.pre_active_date";
//Sdate_time like '2010-03%'
}
else
{
$sql = "SELECT p.id, p.serial_number, p.phone_number, n.network_name, s.status_name, c.category_name, p.cost, p.unit_price, p.profit, p.balance, p.pre_active_date, p.expire_date, p.refill_next, pr.pro_name FROM phone AS p , network AS n , `status` AS s , category AS c , promotion AS pr WHERE p.network_id = n.network_id AND p.category_id = c.category_id AND p.status_id = s.status_id AND p.pro_id = pr.pro_id ";
if($_POST["search_by"] != "" and $_POST['search'] != '')
{
$sql .= " AND (".$_POST["search_by"]." LIKE '%".$_POST['search']."%' ) order by p.id";
}
}
$query = mysql_query($sql) or die(mysql_error());
$n_row = mysql_num_rows($query);
echo "Search found : ".$n_row." items";
//paging
$Per_Page = 30; // Per Page
$Page = $_GET['Page'];
if(!$Page)
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($n_row<=$Per_Page)
{
$Num_Pages =1;
}
else if(($n_row % $Per_Page)==0)
{
$Num_Pages =($n_row/$Per_Page) ;
}
else
{
$Num_Pages =($n_row/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$sql .= " LIMIT $Page_Start , $Per_Page";
$query = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($query))
{
?>
<tr>
<td><?php echo $row["id"]; ?></td>
<td><?php echo $row["serial_number"]; ?></td>
<td><a href="frmOrder.php?phone_number=<?php echo $row["phone_number"]; ?>&unit_price=<?php echo $row["unit_price"]; ?>"><?php echo $row["phone_number"]; ?></a></td>
<td><?php echo $row["network_name"]; ?></td>
<td><?php echo $row["status_name"]; ?></td>
<td><?php echo $row["category_name"]; ?></td>
<td><?php echo number_format($row["cost"],0,"",","); ?></td>
<td><?php echo number_format($row["unit_price"],0,"",","); ?></td>
<td><?php echo $row["profit"]; ?></td>
<td><?php echo $row["balance"]; ?></td>
<td><?php echo $row["pre_active_date"]; ?></td>
<td><?php echo $row["expire_date"]; ?></td>
<td><?php echo $row["refill_next"]; ?></td>
<td><?php echo $row["pro_name"]; ?></td>
<td>[<a href="frmPhoneUpdate.php?id=<?php echo $row["id"]; ?>">Edit</a>]</td>
<td>[<a href="frmPhoneDelete.php?id=<?php echo $row["id"]; ?>">Delete</a>]</td>
</tr>
<?php
}
?>
</table>
<p> </p>
Total <?= $n_row;?> Record : <?=$Num_Pages;?> Page :
<?php
include_once("../class/Paginator.php");
$pages = new Paginator;
$pages->items_total = $n_row;
$pages->mid_range = 20;
$pages->current_page = $Page;
$pages->default_ipp = $Per_Page;
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";
//$pages->url_next = $_SERVER["PHP_SELF"]."?Page=";
$pages->paginate();
echo $pages->display_pages();
mysql_close($sc_number);
?>
?>
</body>
</html>
Tag : PHP
|
|
|
|
|
|
Date :
2013-06-13 18:25:59 |
By :
saravude |
View :
1891 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
บรรทัดที่ 349 $pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";
ตรง &Page= ต้องส่งค่าไปด้วยนะครับ
|
|
|
|
|
Date :
2013-06-13 19:23:57 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แก้ไขครับ
บรรทัดที่ 349
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&search=". $_POST['search']."&Page=";
บรรทัดที่ 244 ให้เพิ่ม ก่อนบรรทัด 210
if(isset($_GET['search']){
$_POST['search'] = $_GET['search'];
}
บรรทัดที่ 210
<input type="text" name="search" size="50" id="" value="<?php echo $_POST['search'];?>" title="ใส่ค่าที่ต้องการค้นหา">
|
ประวัติการแก้ไข 2013-06-13 22:46:49 2013-06-13 22:49:59
|
|
|
|
Date :
2013-06-13 22:45:57 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if(isset($_GET['search_by']){
$_POST['search_by'] = $_GET['search_by'];
}
เอาไปไว้บรรทัดที่ 6 ครับ
บรรทัดที่ 349 เพิ่ม search_by เข้าไปด้วย
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&search=". $_POST['search']."&Page=";
|
ประวัติการแก้ไข 2013-06-14 13:16:54
|
|
|
|
Date :
2013-06-14 13:15:49 |
By :
{Cyberman} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|