例子,php字串分割:
-
-
$keyword="asp php,jsp";
- $keyword=str_replace(" "," ",$keyword );
- $keyword=str_replace(" ",",",$keyword);
- $keyarr=explode(',',$keyword);
- for($index=0;$index{
- $whereSql .= " And (arc.title like '%$keyarr[$index]%' Or arc.keywords like '%$keyarr[$index] %') ";
- }
- echo $whereSql;
複製代碼
為了同時支援空格與逗號,需要提前替換為統一的逗號,就是先將空格都替換為逗號,然後再透過逗號分割字串,然後再循環拼接sql查詢語句。
str_replace就是php中常用的字串替換函數。
explode就是php常用的字串分割成陣列的函數。
PHP實作多條件查詢實例程式碼
常常會用到多條件查詢,分享一個二手房屋查詢的例子。
在本例中,要實現能夠通過地理位置,物業類型,房屋價格,房屋面積及資訊發布日期等多個條件查詢到客戶所需的資料。
查詢文件(search.php)
一、產生查詢語句:
-
-
- $conn=mysql_connect("localhost","root","");
- $db=mysql_selectun_db("lingysql ");
- $query="select * from message where tradetype='".$tradetype."'"; //交易類型,如出租,出售
- $SQL=$SQL . "wuye='" . $wuye . "'";
- if($housetype!="不限"){
- $query.=" && housetype='".$housetype."'"; //房屋類型,如二室一廳,三室二廳
- }
- if($degree!="不限"){
- $query.=" && degree='".$degree."'"; //新舊程度
- }
- if($wuye!="不限"){
- $query.=" && wuye='".$wuye."'"; //物業類型如住房,商店
- }
- if($price2!=""){
- switch($price1){
- case "大於":
- $query.=" && price>'".$price2 ."'"; //價
- break;
- case "等於":
- $query.=" && price='".$price2."'";
- break;
- case "小於":
- $query.=" && pricebreak;
- }
- }
- if($area2!="" ){
- switch($area1){
- case "大於":
- $query.=" && area>'".$area2."'"; //面積
- break;
- case "等於":
- $query.=" && area='".$area2."'";
- break;
- case "小於":
- $query.=" && area break;
- }
- }
- switch($pubdate){ //發佈日期
- case "本星期內":
- $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)break;
- case "一個月內":
- $query.=" && TO_DAYS(NOW( )) - TO_DAYS(date)break;
- case "三個月內":
- $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)break;
- case "六個月內":
- $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)break;
- }
- if($address!=""){
- $query.=" && address like '%$address%'"; //位址
- }
- if(!$page ){
- $page=1;
- }
- ?>
複製程式碼
二、總量結果查詢:
-
-
if ($page){
- $page_size=20;
- $結果=mysql_query($query);
- #$message_count=mysql_result($result,0,"總計");
- $message_count=10;
- $page_count=ceil($message_count/$page_size);
- $offset=($page-1)*$page_size;
- $query=$query." 依日期降序限制 $offset, $page_size";
- $結果=mysql_query($query);
- if($result){
- $rows=mysql_num_rows($result);
- if($rows!=0){
- while($myrow=mysql_fetch_array($result)){
- echo "
"; - echo "
| " ;
- echo "
$myrow[id] $myrow[tradetype] $myrow[address] $myrow[wuye]($myrow[housetype])[$myrow[日期]]"; - 回顯「
| 」;
- echo "
詳細內容 | ";
- 回顯“
”;
- }
- }
- else echo "
沒有找到滿足您的條件的記錄 | ";
- }
- $prev_page=$page-1;
- $next_page=$第 1 頁;
- echo "";
- echo "第".$page."/".$page_count."頁 ";
- if ($pageecho "|第一頁|";
- }
- else{
- echo "|第一頁|";
- }
- 回顯「」;
- if ($prev_pageecho "|上一頁|";
- }
- else{
- echo "|上一頁|";
- }
- 回顯「」;
- if ($next_page>$page_count){
- echo "|下一頁|";
- }
- else{
- echo "|下一頁|";
- }
- 回顯「」;
- if ($page>=$page_count){
- echo "|最後一頁|";
- }
- else{
- echo "|最後一頁|";
- }
- 回顯「
」; }
else{
echo "現在還沒有房屋租賃資訊!"; } echo " "; ?
|