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(*)在數據量龐大的時候,效率的優勢是十分顯著的,因為後者需要二次計算,所以還是最好使用前者進行數據條數的統計。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/248831.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:29
下一篇 2024-12-12 13:30

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python3支持多行語句

    Python3是一種高級編程語言,開發人員可以輕鬆地使用該語言編寫簡單到複雜的代碼。其中Python3支持多行語句,方便開發人員編寫複雜的代碼,提高代碼的可讀性和可維護性。 一、使…

    編程 2025-04-29
  • Python for循環語句列印九九乘法表

    本篇文章將詳細介紹如何使用Python的for循環語句列印九九乘法表。列印九九乘法表是我們初學Python時經常練習的一項基礎操作,也是編寫Python程序的基本能力之一。 1、基…

    編程 2025-04-29
  • 條件運算符(?:)是什麼意思?

    條件運算符(?:)是JavaScript中的一種特殊的運算符,也是許多編程語言中相似語法的一部分。它可以允許我們在一個簡單、一行的語句中完成條件判斷和賦值操作,非常方便。 1.語法…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29
  • Django ORM如何實現或的條件查詢

    在我們使用Django進行資料庫操作的時候,查詢條件往往不止一個,一個好的查詢語句需要考慮我們的查詢要求以及業務場景。在實際工作中,我們經常需要使用或的條件進行查詢,本文將詳細介紹…

    編程 2025-04-29
  • Python中升序排列的if語句

    本文將為大家介紹Python中升序排列的if語句。首先,我們來看一下如何實現。 if a > b: a, b = b, a if b > c: b, c = c, b …

    編程 2025-04-29
  • Python輸出語句用法介紹

    Python作為一種高級編程語言,為編程帶來了極大的便利和快捷。而輸出語句則是Python編程中不可缺少的一部分,它能夠讓我們看到程序運行的結果、判斷程序的正確性和優化程序等。本文…

    編程 2025-04-28

發表回復

登錄後才能評論