php查找后的分頁代碼


我剛開始做項目時,有一個查找頁面,查找第一頁顯示是正常的,點擊第二頁后,發現顯示的是整個產品頁,這明顯是不對的。

在網上查了很久,也想了兩天,當時選擇的是用session記下查找的語句,這樣就不存在把關鍵字傳遞不見的結果。

其實總覺得這種方法不可取,後來參考公司其它人寫的分頁代碼,單獨寫一個分頁函數出來就行了。

不過這種方法是我想出來的,記下來作為參考:

1.查找頁面及JS驗證(兩種方式提交表單,一種是自動提交的)

 

 <SCRIPT LANGUAGE="JavaScript">
       
	   function chksearch(){
	   
	       obj = document.getElementById("area");
			 if(obj.value==""){
			 alert("please select area");
			 return false;
          }

		  obj = document.getElementById("key");
			 if(obj.value=="" || obj.value=="關鏈字"){
			 alert("please input key");
			 return false;
          }
	   
	   }

	   function AreaSubmit(){
	   
		  form = document.getElementById("form1");
		  document.getElementById("formsubmit").value="2";
		  form.submit();
             
	   
	   }
    </SCRIPT>


	<form  name="form1" id="form1"  method="post"  action="salons_search.php" οnsubmit="return chksearch()">
		<input class="sub_sea" type="submit"  value="" />
		<input type="hidden" name="formsubmit" id="formsubmit" value="1">
		<span class="key_seal"><input  type="text" name="key" id="key" value="關鏈字" οnblur="if(!value)value=defaultValue;" οnfοcus="if(value=defaultValue)value='';"  /></span>
		<select name="area" id="area" οnchange="AreaSubmit()" >
		  <option value="all">所有地區</option>
		  <?php 
			$location_query = RunQuery("select id,location  from  `salon`  group by location");
				while ($location = mysql_fetch_assoc($location_query)){
					?>
					  <option value="<?php echo $location['location']?>"  <?php if (@$_POST['area']==$location['location']){echo "selected";} ?>><?php echo $location['location'];  ?></option>
				<?php }
				mysql_free_result($location_query);
		 ?>
		</select>
	</form>

2.寫入session的頁面salons_search.php,用header語句跳轉:

<?php 
session_start();
    $_SESSION['key'] = @trim($_POST['key']);
    $_SESSION['area'] = @trim($_POST['area']);
		if(@$_POST['formsubmit']==1){
			if(@$_POST['area']=="all"){
			    $sql="select * from  `salon` where `name` like '%".$_SESSION['key']."%' or adress like '%".$_SESSION['key']."%'";
			}else{
			    $sql="select * from  `salon` where location='".$_SESSION['area']."' and (`name` like '%".$_SESSION['key']."%' or adress like '%".$_SESSION['key']."%' )";
			}
		}elseif(@$_POST['formsubmit']==2){
			if(@$_POST['area']=="all"){
				$sql="select * from  `salon`";
			}else{
				$sql="select * from  `salon` where location='".$_SESSION['area']."'";
			}   
		}
   $_SESSION['salons_sql'] = $sql;
   header("location:salons_result.php");
?>


3.顯示頁面salons_result.php
一般的sql語句就OK了。

$all_count_query = RunQuery($_SESSION['salons_sql']);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值