您的位置:

php实现条件查询功能,php查询语句

本文目录一览:

php多条件复合查询

在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子。在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料。

查询文件(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 "trtddiv align='center'img src='image/sorry.gif'brbr没有找到满足你条件的记录/div/td/tr";

}

$prev_page=$page-1;

$next_page=$page+1;

echo "div align='center'";

echo " 第".$page."/".$page_count."页nbsp";

if ($page=1){

echo "|第一页|";

}

else{

echo "a href='$PATH_INFO?page=1'|第一页|/a";

}

echo " ";

if ($prev_page1){

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

PHP实现搜索查询功能的方法技巧

下面是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数据才能在首页列表中显示出来。

页面上有一个“搜索”功能,输入条件后就会根据条件来进行查询。

一般的搜索的话,只要在首页显示列表方法index()中给一个:

?

$map=array();//初始化查询条件

$map=$this-_search();//调用查询方法

$total = $this-Model-where ($map)-count(); //这个主要是用来计算页面显示数据条数的

if ($total == 0) {

$_list = '';

} else {

$_list = $this-Model-where ($map)-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();

}

然后,就是写一个_search():

protected function _search(){

$map = array ();

$post_data = I ( 'post.' );

if ($post_data ['packageid'] != '') {

$map ['packageid'] = array (

'like',

'%' . $post_data ['packageid'] . '%'

);

}

return $map;

}

最后,在设置的“搜索”菜单中,调用这个搜索方法。

但是,这个搜索的.同时,还要确保在字段status=0,且printing=0的数据中进行搜索。

这个限制条件该加在什么地方。各种尝试和查询后,才知道。限制条件直接加在SQL语句中就行了(如下红色的地方)。(我自己试的时候一直在如下蓝色的地方加条件,屡试屡败!)

$map=array();

$map=$this-_search();

$total = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-count();

if ($total == 0) {

$_list = '';

} else {

$_list = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();

}

更多相关文章推荐:

如何在PHP页面实现指定条件的查询

在页面里把条件都写到多选按钮里,post提交,php接收提交的参数,然后拼接成完整的sql语句不就行了?

PHP查询功能如何实现

//获得连接

$db = mysql_connect("localhost", "root", "root") or die(mysql_error());

//echo "Connected to MySQLbr/";

//连接数据库

mysql_select_db("test") or die(mysql_error());

//echo "Connected to Database";

 

$result = mysql_query("select * from books",$db);

//循环遍历                                                          

while ($myrow = mysql_fetch_row($result)){ 

    print_r($myrow) ; 

}

PHP查询数据库中满足条件的记录条数(两种实现方法)

在需要输出网站用户注册数,或者插入数据之前判断是否有重复记录的时候,就需要获取满足条件的MySQL查询的记录数目。

第一种方法:查询时候直接统计

复制代码

代码如下:

$sql="SELECT

COUNT(*)

AS

count

FROM

TABLE

WHERE

id='$id'";

$result=mysql_fetch_array(mysql_query($sql));

$count=$result['count'];

第二种方法:先取出,后统计

复制代码

代码如下:

$sql="SELECT

*

FROM

TABLE

WHERE

id='$id'";

$result=mysql_fetch_array(mysql_query($sql));

$count=count($result);//或者$count=mysql_num_rows($result);

不过直接使用MySQL的COUNT(*)在数据量庞大的时候,效率的优势是十分显著的,因为后者需要二次计算,所以还是最好使用前者进行数据条数的统计。