首頁  >  文章  >  每日程式設計  >  PHP高階檢索功能的實作以及動態拼接sql

PHP高階檢索功能的實作以及動態拼接sql

慕斯
慕斯轉載
2021-06-30 10:02:406634瀏覽

我們學習了解了這麼多關於PHP的知識,不知道你們對PHP高階檢索功能的實作以及動態拼接sql是否已經完全掌握了呢,如果沒有,那就跟隨本篇文章一起繼續學習吧!

PHP高級檢索功能的實現以及動態拼接sql。完成的功能有:可以單獨根據一個條件查詢,也可以透過多個條件綜合查詢,困難點在於動態拼接sql。

完成的效果

總畫面

PHP高階檢索功能的實作以及動態拼接sql

#單獨根據姓名模糊查詢

PHP高階檢索功能的實作以及動態拼接sql

#單獨根據性別查詢

PHP高階檢索功能的實作以及動態拼接sql

根據多個條件綜合查詢

PHP高階檢索功能的實作以及動態拼接sql

前台頁面程式碼

<form action="" method="post">
<labal>姓名:</labal> <input style="width:105px" type="text" name="search_name" id="search_name" placeholder="姓名">
&nbsp
<labal>性别:</labal>
<input type="radio" name="search_sex" id="man" value="0">男
<input type="radio" name="search_sex" id="women" value="1">女
&nbsp
<labal>年龄:</labal><input style="width:105px" type="text" name="search_age" id="add_age"placeholder="年龄">
&nbsp
<labal>邮箱:</labal><input style="width:150px" type="text" name="search_email" id="search_email" placeholder="邮箱">
<input id="b" name="submit" style="width:60px" type="submit" value="检索">
</form>

後台處理程式碼

//接收用户输入的数据$name = $sex = $age = $email = "";if (isset($_POST[&#39;submit&#39;])) {
    if (isset($_POST[&#39;search_name&#39;])) {
    	$name = $_POST[&#39;search_name&#39;];
    }
    if (isset($_POST[&#39;search_sex&#39;])) {
    	$sex = $_POST[&#39;search_sex&#39;];
    }
    if (isset($_POST[&#39;search_age&#39;])) {
    	$age = $_POST[&#39;search_age&#39;];
    }
    if (isset($_POST[&#39;search_email&#39;])) {
    	$email = $_POST[&#39;search_email&#39;];
    }//执行检索sql$search_sql = $myTest->searchData($name,$sex,$age,$email);$result = $myTest->sqlRun($search_sql);

動態拼接sql

public function searchData($name,$sex,$age,$email){

		switch ($name) {
			//未输入姓名
			case null:
				$name_info=&#39;&#39;;
				break;
			     //PHP高階檢索功能的實作以及動態拼接sql
			    default:
				$name_info=" and name LIKE &#39;%".$name."%&#39;";
				break;
		}
		switch ($sex) {
			//未输入性别
			case null:
				$sex_info=&#39;&#39;;
				break;
			//根据性别准确查询
			default:
				$sex_info=&#39; and sex=&#39;.$sex;
				break;
		}
		switch ($age) {
			//未输入年龄
			case null:
				$age_info=&#39;&#39;;
				break;
			//根据年龄准确查询
			default:
				$age_info=&#39; and age=&#39;.$age;
				break;
		}
		switch ($email) {
			//未输入邮箱
			case null:
				$email_info=&#39;&#39;;
				break;
			//根据邮箱模糊查询
			default:
				$email_info=" and email LIKE &#39;%".$email."%&#39;";
				break;
		}$search_sql=&#39;SELECT * FROM users WHERE 1=1&#39;.$name_info.$sex_info.$age_info.$email_info;&#39;&#39;;return $search_sql;
	}

   相關學習推薦:mysql教學(影片)            

#

以上是PHP高階檢索功能的實作以及動態拼接sql的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:csdn.net。如有侵權,請聯絡admin@php.cn刪除