电脑基础知识
phpcms v9教程 联动搜索在房地产网站开发中的应用
2025-08-17 10:57  点击:1

phpcms v9二次开发教程之联动搜索在房地产网站开发中的应用

  开发简述:使用phpcms V9系统,修改源文件5个,创建模型:楼盘、出售、出租、中介、小区,增加联动菜单:楼盘,增加用户组:房产中介,

phpcms v9教程 联动搜索在房地产网站开发中的应用


实现功能:
游客发布信息、会员申请中介、楼盘全方位展示、报名团购、看房功能,发布信息时可根据登陆后的会员资料自动填好联系信息,中介有自己的店铺,可给中介留言,联动筛选搜索、排序,房源对比功能。

联动筛选搜索功能的实现方法及代码:

  要修改的文件就是list模板

核心代码:

$theurl = APP_PATH."index.php?m=content&c=index&a=lists&catid=$catid";
$where = "status=99";
$orderby = "";
foreach ($_GET as $field => $r) {
if($r) {
if(!in_array($field,array('m','c','a','page'))){
if(strrpos($field,'_')){
$arr=explode("-",$r);
$field = str_replace('_','',$field);
$where .= " AND $field >= '$arr[0]' AND $field <= '$arr[1]'";
}else if($field == 'title'){
$where .= " AND $field LIKE "."'%".$r."%'";
}else if($field == 'orderby'){
$orderby = str_replace('_',' ',$r);

}else{
$where .= " AND $field='$r'";
}
}
}
}
//if($where)$where = substr($where,5);
if(!$orderby)$orderby = "id desc";
?>

用这段代码来构造查询条件和排序方式,有了这段代码之后,要把list.htm获得列表的pc语句改造成这样
原来的
{pc:content action="lists" catid="$catid" num="25" rder="id DESC" page="$page"}
改造后的
{pc:content action="lists" where="$where" catid="$catid" num="25" rder="$orderby" page="$page"}

使用的时候就比较麻烦了

状态:全部新盘在售尾盘售完

均价:全部4000以下& amp; lt;/a>
4000-5000
5000-6000
6000-7000
7000-8000
8000-9000
9000-10000
10000以上& amp; lt;/a>


类型:全部{pc:get sql="SELECT * FROM `v9house_type` where `module`='content'"}
{loop $data $key $val}
{$val[name]}
{/loop}
{/pc}


地区:
全部{pc:get sql="SELECT linkageid,name FROM `v9house_linkage` where parentid=(SELECT linkageid FROM `v9house_linkage` where name='淄博市')"}
{loop $data $key $val}
{$val[name]}
{/loop}
{/pc}



没办法,要想联动,就得每次都传递出所有需要联动的参数,所以url的参数部分就很多,容易晕掉~

获取搜索结果的代码是
共返回 {php echo count($data);} 个结果
放在
{pc:content action="lists" where="$where" catid="$catid" num="25" rder="$orderby" page="$page"}
下面
loop
的上面

共返回 {php echo count($data);} 个结果

排序的参数也很麻烦
面积

基本就这样了,希望有人能看懂

搜索表单也可以直接用在这里

给个例子