We have learned so much about PHP, but I don’t know if you have fully mastered the implementation of PHP’s advanced search function and dynamic splicing of sql. Yes, if not, then follow this article to continue learning!
Implementation of PHP's advanced search function and dynamic splicing of sql. The completed functions include: query based on one condition alone, or comprehensive query based on multiple conditions. The difficulty lies in dynamically splicing SQL.
Front page code
<form action="" method="post"> <labal>姓名:</labal> <input style="width:105px" type="text" name="search_name" id="search_name" placeholder="姓名">   <labal>性别:</labal> <input type="radio" name="search_sex" id="man" value="0">男 <input type="radio" name="search_sex" id="women" value="1">女   <labal>年龄:</labal><input style="width:105px" type="text" name="search_age" id="add_age"placeholder="年龄">   <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>
Background processing code
//接收用户输入的数据$name = $sex = $age = $email = "";if (isset($_POST['submit'])) { if (isset($_POST['search_name'])) { $name = $_POST['search_name']; } if (isset($_POST['search_sex'])) { $sex = $_POST['search_sex']; } if (isset($_POST['search_age'])) { $age = $_POST['search_age']; } if (isset($_POST['search_email'])) { $email = $_POST['search_email']; }//执行检索sql$search_sql = $myTest->searchData($name,$sex,$age,$email);$result = $myTest->sqlRun($search_sql);
dynamic splicing sql
public function searchData($name,$sex,$age,$email){ switch ($name) { //未输入姓名 case null: $name_info=''; break; //Implementation of PHP advanced search function and dynamic splicing of sql default: $name_info=" and name LIKE '%".$name."%'"; break; } switch ($sex) { //未输入性别 case null: $sex_info=''; break; //根据性别准确查询 default: $sex_info=' and sex='.$sex; break; } switch ($age) { //未输入年龄 case null: $age_info=''; break; //根据年龄准确查询 default: $age_info=' and age='.$age; break; } switch ($email) { //未输入邮箱 case null: $email_info=''; break; //根据邮箱模糊查询 default: $email_info=" and email LIKE '%".$email."%'"; break; }$search_sql='SELECT * FROM users WHERE 1=1'.$name_info.$sex_info.$age_info.$email_info;'';return $search_sql; }
mysql tutorial(video)
The above is the detailed content of Implementation of PHP advanced search function and dynamic splicing of sql. For more information, please follow other related articles on the PHP Chinese website!