教程集 www.jiaochengji.com
教程集 >  建站教程  >  phpcms  >  正文 phpcms v9房产网站开发之联动搜索功能

phpcms v9房产网站开发之联动搜索功能

发布时间:2014-07-20   编辑:jiaochengji.com
需要修改phpcms V9系统5个源文件,创建模型:楼盘、出售、出租、中介、小区,增加联动菜单:楼盘,增加用户组:房产中介...

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

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

其实上这个帖子主要是为了显摆,这是给单位做的,不可能放出来共享,但部分内容也是可以分享给大家的,这里应一位网友的要求,放出 联动筛选搜索功能的实现方法吧,思路是坛里一位returneret 给出的,他还特意做了视频教程,向这样乐于分享的人致敬!
需要修改的文件就是list.html模板

核心代码
 

复制代码 代码如下:
<?php
$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" order="id DESC" page="$page"}


改造后的
 

复制代码 代码如下:
{pc:content action="lists" where="$where" catid="$catid" num="25" order="$orderby" page="$page"}

使用的时候就比较麻烦了,是个体力活,看我写的这个麻烦吧
 

复制代码 代码如下:
<p><span>状态:</span><span><a href='{url_par("price_=$_GET[price_]&hstatus=&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>全部</a></span>
<span {if $_GET[hstatus] == 1}class='shaixuan'{/if}><a href='{url_par("price_=$_GET[price_]&hstatus=1&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>新盘</a></span>
<span {if $_GET[hstatus] == 2}class='shaixuan'{/if}><a href='{url_par("price_=$_GET[price_]&hstatus=2&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>在售</a></span>
<span {if $_GET[hstatus] == 3}class='shaixuan'{/if}><a href='{url_par("price_=$_GET[price_]&hstatus=3&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>尾盘</a></span>
<span {if $_GET[hstatus] == 4}class='shaixuan'{/if}><a href='{url_par("price_=$_GET[price_]&hstatus=4&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>售完</a></span></p>
<p><span>均价:</span><span><a href='{url_par("price_=&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>全部</a></span>
<span {if $_GET[price_] == '0-4000'}class='shaixuan'{/if}><a href='{url_par("price_=0-4000&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>4000以下</a></span>
<span {if $_GET[price_] == '4000-5000'}class='shaixuan'{/if}><a href='{url_par("price_=4000-5000&typeid=$_GET[typeid]&hstatus=$_GET[hstatus]&address=$_GET[address]",$theurl)}'>4000-5000</a></span>
<span {if $_GET[price_] == '5000-6000'}class='shaixuan'{/if}><a href='{url_par("price_=5000-6000&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>5000-6000</a></span>
<span {if $_GET[price_] == '6000-7000'}class='shaixuan'{/if}><a href='{url_par("price_=6000-7000&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>6000-7000</a></span>
<span {if $_GET[price_] == '7000-8000'}class='shaixuan'{/if}><a href='{url_par("price_=7000-8000&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>7000-8000</a></span>
<span {if $_GET[price_] == '8000-9000'}class='shaixuan'{/if}><a href='{url_par("price_=8000-9000&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>8000-9000</a></span>
<span {if $_GET[price_] == '9000-10000'}class='shaixuan'{/if}><a href='{url_par("price_=9000-10000&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>9000-10000</a></span>
<span {if $_GET[price_] == '10000-100000'}class='shaixuan'{/if}><a href='{url_par("price_=10000-100000&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$_GET[address]",$theurl)}'>10000以上</a></span> 
</p>
<p><span>类型:</span><span><a href="{url_par("price_=$_GET[price_]&hstatus=$_GET[hstatus]&typeid=&address=$_GET[address]",$theurl)}">全部</a></span>
{pc:get sql="SELECT * FROM `v9house_type` where `module`='content'"}
{loop $data $key $val}
<span {if $_GET[typeid] == $val[typeid]}class='shaixuan'{/if}><a href="{url_par("price_=$_GET[price_]&hstatus=$_GET[hstatus]&typeid=$val[typeid]&address=$_GET[address]",$theurl)}">{$val[name]}</a></span>
{/loop}
{/pc}</p>
<p><span>地区:</span>
<span><a href="{url_par("price_=$_GET[price_]&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=",$theurl)}">全部</a></span>
{pc:get sql="SELECT linkageid,name FROM `v9house_linkage` where parentid=(SELECT linkageid FROM `v9house_linkage` where name='淄博市')"}
{loop $data $key $val}
<span {if $_GET[address] == $val[linkageid]}class='shaixuan'{/if}> <a href="{url_par("price_=$_GET[price_]&hstatus=$_GET[hstatus]&typeid=$_GET[typeid]&address=$val[linkageid]",$theurl)}">{$val[name]}</a></span>
{/loop}
{/pc}</p>
 

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

获取搜索结果的代码是
 

复制代码 代码如下:
共返回 {php echo count($data);} 个结果


放在
{pc:content action="lists" where="$where" catid="$catid" num="25" order="$orderby" page="$page"}
下面
loop
的上面

共返回 {php echo count($data);} 个结果
排序的参数也很麻烦
 

复制代码 代码如下:
<a href='{url_par("price_=$_GET[price_]&area_=$_GET[area_]&shi=$_GET[shi]&typeid=$_GET[typeid]&address=$_GET[address]&orderby=area_desc",$theurl)}'>面积</a>
 

基本就这样了,希望大家能看懂哈~~~
搜索表单也可以直接用在这里
给个例子
 

复制代码 代码如下:
<form name="myform1" method="get" action="">
<input type="hidden" name="m" value="content">
<input type="hidden" name="c" value="index">
<input type="hidden" name="a" value="lists">
<span><select name="catid">
<option value="6">出售</option>
<option value="12">求购</option>
</select></span>
 
<span><select name="area_">
<option value="">面积不限</option>
<option value="0-50">小于50</option>
<option value="50-80">50到80</option>
<option value="80-120">80到120</option>
<option value="120-200">120到200</option>
<option value="200-10000">大于200</option>
 
</select></span>
 
<span><select name="shi">
<option value="">所有户型</option>
<option value="1">1室</option>
<option value="2">2室</option>
<option value="3">3室</option>
</select></span>
<span><input name="title" type="text" class="text4" style="width:60px;" /></span>
<span><input type="submit" value="" class="text3" /></span></form>

您可能感兴趣的文章:
phpcms用什么开发的
phpcms用了什么框架?
phpcms v9房产网站开发之联动搜索功能
phpcms v9更换域名后上传图片功能无效的解决办法
新手seo需了解的几点
phpcms有什么功能模块?
phpcms调用栏目文章总数与信息总数的代码
phpcms是什么系统
企业网站推广漫谈
如何让小站有收入

[关闭]
~ ~