当前位置:网站首页>PHP高级检索功能的实现以及动态拼接SQL
PHP高级检索功能的实现以及动态拼接SQL
2022-08-05 11:08:00 【智慧浩海】
PHP高级检索功能的实现以及动态拼接sql总结。完成的功能有:可以单独根据一个条件查询,也可以通过多个条件综合查询,难点在于动态拼接sql。完成的效果总画面 单独根据姓名模糊查询 根据多个条件综合查询 前台页面代码 后台处理代码 动,下方主要介绍关于php 高级检索及sql拼接的全文内容,希望对你有所帮助。
PHP高级检索功能的实现以及动态拼接sql总结。完成的功能有:可以单独根据一个条件查询,也可以通过多个条件综合查询,
难点在于动态拼接sql。
完成的效果
总画面

单独根据姓名模糊查询

单独根据性别查询

根据多个条件综合查询

前台页面代码
<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>
后台处理代码
//接收用户输入的数据
$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);
动态拼接sql
public function searchData($name,$sex,$age,$email){
switch ($name) {
//未输入姓名
case null:
$name_info='';
break;
//根据姓名模糊查询
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;
}边栏推荐
- nyoj86 找球号(一) set容器和二分 两种解法
- hdu 1870 愚人节的礼物 (栈)
- The fuse: OAuth 2.0 four authorized login methods must read
- 365 days challenge LeetCode1000 questions - Day 050 add a row to the binary tree binary tree
- DocuWare平台——文档管理的内容服务和工作流自动化的平台详细介绍(下)
- SkiaSharp 之 WPF 自绘 投篮小游戏(案例版)
- 【加密解密】明文加密解密-已实现【已应用】
- Naive bayes
- 图像分割模型——segmentation_models_pytorch和albumentations 组合实现多类别分割
- 反射修改jsessionid实现Session共享
猜你喜欢

软件测试之集成测试

What are the standards for electrical engineering

5G NR system messages

SQL Outer Join Intersection, Union, Difference Query

365 days challenge LeetCode1000 questions - Day 050 add a row to the binary tree binary tree

今天告诉你界面控件DevExpress WinForms为何弃用经典视觉样式

金融业“限薪令”出台/ 软银出售过半阿里持仓/ DeepMind新实验室成立... 今日更多新鲜事在此...

Nature:猪死亡1小时后,器官再次运转

365天挑战LeetCode1000题——Day 050 在二叉树中增加一行 二叉树

一张图看懂 SQL 的各种 join 用法!
随机推荐
Chapter 4: In the activiti process, variable transmission and acquisition process variables, setting and acquiring multiple process variables, setting and acquiring local process variables "recommende
Oracle的自动段空间管理怎么关闭?
Google启动通用图像嵌入挑战赛
A small test of basic grammar, Go lang1.18 introductory refining tutorial, from Bai Ding to Hongru, basic grammar of go lang and the use of variables EP02
微服务结合领域驱动设计落地
并非富人专属,一文让你对NFT改观
Android development with Kotlin programming language - basic data types
.NET深入解析LINQ框架(六:LINQ执行表达式)
ECCV 2022 | 视听分割:全新任务,助力视听场景像素级精细化理解
如何用Golang来手写一个Blog - Milu.blog 开发总结
shell编程流程控制练习
flutter 服务器返回数据判断是否为空
前沿技术数字孪生如何应用在智慧城市上?
Image segmentation model - a combination of segmentation_models_pytorch and albumations to achieve multi-category segmentation
Android 开发用 Kotlin 编程语言一 基本数据类型
PostgreSQL 2022 Report: Rising popularity, open source, reliability and scaling key
Linux:记一次CentOS7安装MySQL8(博客合集)
MySQL 中 auto_increment 自动插入主键值
数据可视化(一)
hdu4545 魔法串