php查找后的分頁代碼

来源:互联网 发布:淘宝童装客服话术 编辑:程序博客网 时间:2024/05/18 01:13


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

在網上查了很久,也想了兩天,當時選擇的是用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" onsubmit="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="關鏈字" onblur="if(!value)value=defaultValue;" onfocus="if(value=defaultValue)value='';"  /></span><select name="area" id="area" onchange="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']);


 

原创粉丝点击