一个简单实现多条件查询的例子


Posted in PHP onOctober 09, 2006

在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子。在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料。以下是实现过程。
查询条件界面(略):
查询文件(search.php)
一、生成查询语句:
<?
$conn=mysql_connect("localhost","root","");
$db=mysql_select_db("lingyun");
$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.=" && price<'".$price2."'";
break;
}
}
if($area2!=""){
switch($area1){
case "大于":
$query.=" && area>'".$area2."'";  //面积
break;
case "等于":
$query.=" && area='".$area2."'";
break;
case "小于":
$query.=" && area<'".$area2."'";
break;
}
}
switch($pubdate){                   //发布日期
case "本星期内":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=7";
break;
case "一个月内":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=30";
break;
case "三个月内":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=91";
break;
case "六个月内":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=183";
break;
}
if($address!=""){
$query.=" &&  address like '%$address%'";  //地址
}
if(!$page){
$page=1;
}
?>

二、输出查询结果:
<?php
     if ($page){
     $page_size=20;
     $result=mysql_query($query);
     #$message_count=mysql_result($result,0,"total");
     $message_count=10;
     $page_count=ceil($message_count/$page_size);
     $offset=($page-1)*$page_size;
     $query=$query." order by date desc limit $offset, $page_size";
     $result=mysql_query($query);
     if($result){
     $rows=mysql_num_rows($result);
     if($rows!=0){
     while($myrow=mysql_fetch_array($result)){
     echo "<tr>";
     echo "<td width='15' height='12'><img src='image/home2.gif' width='14' height='14'></td>";
     echo "<td width='540' height='12'>$myrow[id] $myrow[tradetype] $myrow[address] $myrow[wuye]($myrow[housetype])<font style='font-size:9pt'>[$myrow[date]]</font>";
     echo "</td>";
     echo "<td width='75' height='12'><a href='view_d.php?code=$myrow[code]' target='_blank'>详细内容</a></td>";
     echo "</tr>";
         }
       }
     else echo "<tr><td><div align='center'><img src='image/sorry.gif'><br><br>没有找到满足你条件的记录</div></td></tr>";
     }

         $prev_page=$page-1;
         $next_page=$page+1;
         echo "<div align='center'>";
         echo " 第".$page."/".$page_count."页 ";
         if ($page<=1){
             echo "|第一页|";
            }
         else{
             echo "<a href='$PATH_INFO?page=1'>|第一页|</a>";
             }
         echo " ";
         if ($prev_page<1){
             echo "|上一页|";
            }
         else{
             echo "<a href='$PATH_INFO?page=$prev_page'>|上一页|</a>";
             }
         echo " ";
         if ($next_page>$page_count){
             echo "|下一页|";
             }
         else{
             echo "<a href='$PATH_INFO?page=$next_page'>|下一页|</a>";
              }
         echo " ";
         if ($page>=$page_count){
             echo "|最后一页|";
               }
         else{
             echo "<a href='$PATH_INFO?page=$page_count'>|最后一页|</a>";
             }
        echo "</div>";
    }
     else{
         echo "<p align='center'>现在还没有房屋租赁信息!</p>";
       }
   echo "<hr width="100%" size="1">";
  ?>
    </table>    

如果在使用过程中出现什么问题,请与我联系(yk_lingyun@21cn.com),欢迎指正!

【本文版权归作者与奥索网共同拥有,如需转载,请注明作者及出处】    

PHP 相关文章推荐
Yii入门教程之目录结构、入口文件及路由设置
Nov 25 PHP
php实现encode64编码类实例
Mar 24 PHP
帝国cms常用标签汇总
Jul 06 PHP
PHP中SSO Cookie登录分析和实现
Nov 06 PHP
php HTML无刷新提交表单
Apr 05 PHP
php求今天、昨天、明天时间戳的简单实现方法
Jul 28 PHP
PHP简单实现上一页下一页功能示例
Sep 14 PHP
PHP count_chars()函数讲解
Feb 14 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
Mar 11 PHP
laravel框架中控制器的创建和使用方法分析
Nov 23 PHP
Yii Framework框架开发微信公众平台示例
Apr 26 PHP
PHP xpath提取网页数据内容代码解析
Jul 16 PHP
用PHP和ACCESS写聊天室(十)
Oct 09 #PHP
php生成EXCEL的东东
Oct 09 #PHP
一个取得文件扩展名的函数
Oct 09 #PHP
PHP 如何向 MySQL 发送数据
Oct 09 #PHP
PHP安装攻略:常见问题解答(一)
Oct 09 #PHP
利用PHP实现与ASP Banner组件相似的类
Oct 09 #PHP
PHP聊天室技术
Oct 09 #PHP
You might like
玛琪朵 Macchiato
2021/03/03 咖啡文化
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
PHP封装的分页类与简单用法示例
2019/02/25 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
Easy.Ajax 部分源代码 支持文件上传功能, 兼容所有主流浏览器
2011/02/24 Javascript
javascript实现可全选、反选及删除表格的方法
2015/05/15 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
2015/12/24 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
一些可能会用到的Node.js面试题
2019/06/15 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
微信小程序自定义tabBar在uni-app的适配详解
2019/09/30 Javascript
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
Python统计列表中的重复项出现的次数的方法
2014/08/18 Python
Python对象体系深入分析
2014/10/28 Python
Python协程的用法和例子详解
2017/09/09 Python
python使用itchat库实现微信机器人(好友聊天、群聊天)
2018/01/04 Python
详解python异步编程之asyncio(百万并发)
2018/07/07 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
Python Scrapy图片爬取原理及代码实例
2020/06/12 Python
详解Python流程控制语句
2020/10/28 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
用python实现一个简单的验证码
2020/12/09 Python
韩国休闲女装品牌网站:ANAIS
2016/08/24 全球购物
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
在阿尔卑斯山或希腊度过快乐假期:Alpine Elements
2019/12/28 全球购物
Lancer Skincare官方网站:抗衰老皮肤护理
2020/11/20 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
大学生自荐书范文
2013/12/10 职场文书
致长跑运动员加油稿
2014/02/20 职场文书
先进事迹报告会主持词
2014/04/02 职场文书
写给导师的自荐信
2015/03/06 职场文书
三国演义读书笔记
2015/06/25 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL