当前位置:网站首页>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;
}
边栏推荐
- Machine Learning - Ensemble Learning
- How OpenHarmony Query Device Type
- 四、kubeadm单master
- 一张图看懂 SQL 的各种 join 用法!
- 今天告诉你界面控件DevExpress WinForms为何弃用经典视觉样式
- SQL Outer Join Intersection, Union, Difference Query
- STM32入门开发:编写XPT2046电阻触摸屏驱动(模拟SPI)
- SMB + SMB2: Accessing shares return an error after prolonged idle period
- What do T and Z in the time format 2020-01-13T16:00:00.000Z represent and how to deal with them
- Android development with Kotlin programming language II Conditional control
猜你喜欢
Opencv图像缩放和平移
Machine Learning - Ensemble Learning
脱光衣服待着就能减肥,当真有这好事?
苹果Meta都在冲的Pancake技术,中国VR团队YVR竟抢先交出产品答卷
RT - Thread record (a, RT, RT Thread version - Thread Studio development environment and cooperate CubeMX quick-and-dirty)
《分布式云最佳实践》分论坛,8 月 11 日深圳见
Scaling-law和模型结构的关系:不是所有的结构放大后都能保持最好性能
Nature:猪死亡1小时后,器官再次运转
【MySQL基础】-【数据处理之增删改】
一张图看懂 SQL 的各种 join 用法!
随机推荐
How to choose coins and determine the corresponding strategy research
【加密解密】明文加密解密-已实现【已应用】
微服务结合领域驱动设计落地
Can't get in to ask questions.I want to ask you a question about the return value (traversal of the graph), please give Xiaobai an answer.
power failure...Trouble trouble trouble!!!
图像分割模型——segmentation_models_pytorch和albumentations 组合实现多类别分割
[Translation] Chaos Net + SkyWalking: Better observability for chaos engineering
nyoj1185最大最小值(线段树)
nyoj754 黑心医生 结构体优先队列
2022杭电杯超级联赛(5)
前沿技术数字孪生如何应用在智慧城市上?
PG优化篇--执行计划相关项
poj2287 Tian Ji -- The Horse Racing(2016xynu暑期集训检测 -----C题)
机器学习——逻辑回归
SMB + SMB2: Accessing shares return an error after prolonged idle period
四、kubeadm单master
012_SSS_ Improving Diffusion Model Efficiency Through Patching
Leetcode刷题——623. 在二叉树中增加一行
shell编程流程控制练习
学生信息管理系统(第一次.....)