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

在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子。在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料。以下是实现过程。
查询条件界面(略):
查询文件(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='http://edu.cnzz.cn/NewsInfo/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='http://edu.cnzz.cn/NewsInfo/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),欢迎指正!

时间: 2024-08-28 04:16:53

一个简单实现多条件查询的例子的相关文章

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

在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子.在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料.以下是实现过程. 查询条件界面(略): 查询文件(search.php) 一.生成查询语句: <? $conn=mysql_connect("localhost","root",""); $db=mysql_select_db("lingy

Linux下一个简单的多线程互斥锁的例子

本篇文章是对Linux下一个简单的多线程互斥锁的例子进行了分析介绍,需要的朋友可以参考下   复制代码 代码如下: #include <stdio.h> #include <pthread.h> pthread_mutex_t Device_mutex ; int count=0; void thread_func1() {    while(1)    {        pthread_mutex_lock(&Device_mutex);        printf(&q

用函数模板,写一个简单高效的 JSON 查询器的方法介绍_javascript技巧

JSON可谓是JavaScript的亮点,它能用优雅简练的代码实现Object和Array的初始化.同样是基于文本的数据定义,它比符号分隔更有语义,比XML更简洁.因此越来越多的JS开发中,使用它作为数据的传输和储存. JS数组内置了不少有用的方法,方便我们对数据的查询和筛选.例如我们有一堆数据: 复制代码 代码如下: var heros = [        // 名============攻=====防=======力量====敏捷=====智力====        {name:'冰室女巫

自己写的一个简单ASP调用存储过程查询

存储过程 本文用到没有用到adodb.command命令,只是简单的做了一个用adodb.recordset来执行存储过程. 存储过程:'在SQL中建立dbo.tse存储过程 CREATE PROCEDURE [dbo].[tse] @keyword varchar(20)=null, '定义查询的关键字@choose int=null '定义查询的类型(1为查询列title,其他为content)as if @choose=1 select * from web where title lik

js 合并列:一个简单的js合并列的例子,大家可以自己改进哦!

<html><head><title>单元格合并</title><script>var main = 1;//参照列 从0开始var td = [2,3];//根据参照列合并的列 从0开始window.onload=function(){var table = document.getElementById("tab");var name="";for(var i=0,j=0;i <table.row

浅析Linux下一个简单的多线程互斥锁的例子_unix linux

复制代码 代码如下: #include <stdio.h>#include <pthread.h>pthread_mutex_t Device_mutex ;int count=0;void thread_func1(){   while(1)   {       pthread_mutex_lock(&Device_mutex);       printf("thread1: %d\n",count);       pthread_mutex_unlo

有没有高手帮忙写一个简单的数据库录入数据的例子

问题描述 想要达到如下学习目的:1.绑定数据库2.从表单提交保存到数据库3.修改数据库记录4.删除数据库记录5.各个功能单独处理 解决方案 解决方案二: 解决方案三:使用动软代码生成器.自动生成这些代码解决方案四:这样的东西你还在问问题不知道你是业余选手还是自己懒解决方案五:顶楼上.哈哈,还是不帮你写了,否则下一次你还来问.还是回去看看书吧.凡是都有第一次的,第一次越困难,记忆越深.

javascript:设置URL参数的方法,适合多条件查询

 适用场景:多条件查询情况,如下图所示:  通过设置URL参数,再结合数据源控件设置的RUL参数,就能进行简单的多条件查询了. javascript函数: <mce:script type="text/javascript"><!-- //设置URL参数的方法 function setParmsValue(parms, parmsValue) { var urlstrings = document.URL; var args = GetUrlParms(); var

mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】

1.单条件查询:select 字段名 from tablename where 条件: 2.简单多条件查询,使用&&或者between and等: 3.is null和is not null查询,这里要注意null不是空字符串不是0: 4.in和not in查询,相当于是用or把in后边的集合元素连起来.注意如果in后边带的集合中存在null,那么不会影响结果,但not in后边集合中有null,就不会查处任何结果,not in也查不出null: 5.like模糊查询(不仅适用字符串):