PHP高级检索功能的实现以及动态拼接sql

原创 朱雀 2021-01-10 12:17 134681阅读 22赞

PHP高级检索功能的实现以及动态拼接sql

我们学习了解了这么多关于PHP的知识,不知道你们对PHP高级检索功能的实现以及动态拼接sql是否已经完全掌握了呢,如果没有,那就跟随本篇文章一起继续学习吧!

PHP高级检索功能的实现以及动态拼接sql。完成的功能有:可以单独根据一个条件查询,也可以通过多个条件综合查询,难点在于动态拼接sql。

完成的效果
总画面

单独根据姓名模糊查询

单独根据性别查询

根据多个条件综合查询

前台页面代码

后台处理代码

  1. //接收用户输入的数据$name = $sex = $age = $email = "";if (isset($_POST['submit'])) {
  2. if (isset($_POST['search_name'])) {
  3. $name = $_POST['search_name'];
  4. }
  5. if (isset($_POST['search_sex'])) {
  6. $sex = $_POST['search_sex'];
  7. }
  8. if (isset($_POST['search_age'])) {
  9. $age = $_POST['search_age'];
  10. }
  11. if (isset($_POST['search_email'])) {
  12. $email = $_POST['search_email'];
  13. }//执行检索sql$search_sql = $myTest->searchData($name,$sex,$age,$email);$result = $myTest->sqlRun($search_sql);

动态拼接sql

  1. public function searchData($name,$sex,$age,$email){
  2. switch ($name) {
  3. //未输入姓名
  4. case null:
  5. $name_info='';
  6. break;
  7. //根据姓名模糊查询
  8. default:
  9. $name_info=" and name LIKE '%".$name."%'";
  10. break;
  11. }
  12. switch ($sex) {
  13. //未输入性别
  14. case null:
  15. $sex_info='';
  16. break;
  17. //根据性别准确查询
  18. default:
  19. $sex_info=' and sex='.$sex;
  20. break;
  21. }
  22. switch ($age) {
  23. //未输入年龄
  24. case null:
  25. $age_info='';
  26. break;
  27. //根据年龄准确查询
  28. default:
  29. $age_info=' and age='.$age;
  30. break;
  31. }
  32. switch ($email) {
  33. //未输入邮箱
  34. case null:
  35. $email_info='';
  36. break;
  37. //根据邮箱模糊查询
  38. default:
  39. $email_info=" and email LIKE '%".$email."%'";
  40. break;
  41. }$search_sql='SELECT * FROM users WHERE 1=1'.$name_info.$sex_info.$age_info.$email_info;'';return $search_sql;
  42. }
文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,134681人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Mybatis动态拼接sql

    Mybatis动态拼接sql 需求:查询某张表时条件不确定,可能有一个,可能有多个,也可能没有条件 <!-- 动态sql --> <select id="