首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

帝國 CMS 搜尋表單語法完整指南:從基礎參數到多條件聯查實戰

     編輯:PHP 相關知識

帝國 CMS 內建強大的搜尋功能,掌握表單參數語法即可滿足 90% 以上的站內搜尋需求。若涉及自訂欄位搜尋,需微調 e/search/index.php 處理邏輯。本文系統整理所有表單變數與實戰範例。

核心表單變數對照表

變數名說明範例
keyboard搜尋關鍵字<input name="keyboard">
show搜尋欄位(逗號分隔,需後台模型開啟搜尋)<input type="hidden" name="show" value="title,newstext">
classid欄目 ID(0=不限,逗號分隔,父欄目含子欄目)<input type="hidden" name="classid" value="1">
ztid專題 ID<input type="hidden" name="ztid" value="1">
tbname指定資料表(配合 tempid 使用)<input type="hidden" name="tbname" value="news">
tempid搜尋模板 ID<input type="hidden" name="tempid" value="1">
starttime/endtime發布時間範圍 (YYYY-MM-DD)<input name="starttime" value="2008-02-27">
startprice/endprice價格範圍<input name="startprice" value="0">
member0=不限 1=會員投稿 2=管理員發布<input type="hidden" name="member" value="1">
orderby排序欄位:0=日期 1=ID 2=評論 3=人氣 4=下載<input type="hidden" name="orderby" value="1">
myorder0=倒序 1=正序<input type="hidden" name="myorder" value="1">
andor多條件關係:or(預設)/and<input type="hidden" name="andor" value="and">
hh邏輯運算子:LK(模糊) EQ(等於) GT/LT/GE/LE/NE/BT(IN)/IN<input type="hidden" name="hh" value="LK">

多條件並列搜尋語法

方式一:字串傳遞(單一 name,逗號分隔)

<input type="hidden" name="hh" value="LK,EQ">
<input type="hidden" name="show" value="title,writer">
<input type="hidden" name="keyboard" value="標題,作者">

方式二:陣列傳遞(同名陣列,索引對應)

<input type="hidden" name="show[]" value="title">
<input type="hidden" name="hh[]" value="LK">
<input type="hidden" name="keyboard[]" value="標題">
<input type="hidden" name="show[]" value="writer">
<input type="hidden" name="hh[]" value="EQ">
<input type="hidden" name="keyboard[]" value="作者">

實戰案例:房產資訊多維篩選

表單包含:地區 area、房型 category、時間區間、關鍵字。自訂欄位 myarea、mycategory 需在 e/search/index.php 合併進 keyboard:

<?php
// 原始:$keyboard = $_POST['keyboard'];
$keyboard = $_POST['keyboard'] . ',' . $_POST['area'] . ',' . $_POST['category'];
$keyboardone = 0;
if (is_array($keyboard)) { /* ... */ }
elseif (strstr($keyboard, ',')) { $keyboard = explode(',', $keyboard); }
else { /* 長度檢查 ... */ $keyboardone = 1; }
?>

搭配模板 tempid=1,即可實現「香洲區、二房、近半年發布、含『精裝』關鍵字」的精準篩選。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved