ASCII码 ASCII码

数据库语句的拼凑查询

发布于:2022-03-11 09:32:55  栏目:技术文档

tp6数据库语句的拼凑一般根据前台页面返回的数据从数据库取的数据根据不同的选择查询不同的数据库表

数据库语句写的时候,记得 空格能多别少" class="reference-link">数据库语句写的时候,记得 空格能多别少

数据库查询规则:sql语句格式, select查询 字段 from来自表 where条件 LIKE '%g'条件中的条件 order by cou_id来自某个字段排序规则(正序倒叙) LIMIT查询的数量/页数

其中select为查询 值一般为某个表的字段,可以多个字段from为来自的表,值一般是数据库的某一个表where一般为数据库表某个字段的 比如status=1,也就是表的字段为status值为1,LIKE一般和where条件一起出现。使用%作为通配符, 1%查询status条件为1开头,%1是查询status条件为1末尾的,%1%是查询status包含1的解释:https://www.w3school.com.cn/sql/sql_like.asporder by排序的规则,值为asc正序 desc倒序LIMIT查询的数量 值一般为2个,第一个值为偏移量,第二个值为页数w3c写的有点乱看这里也可以:http://www.ouyangke.net/back/php/17MySQl%E8%AF%AD%E5%8F%A5.html

数据库查询一般都是分为4步,为了更好循环利用查询语句就是将查询语句 也就是select作为一个变量条件作为一个变量排序作为一个变量以及分页作为一个变量最后统一调用

发一个示例代码:代码示例:

  1. <?php
  2. declare(strict_types=1);
  3. namespace app\admin\controller;
  4. use think\Request;
  5. use think\facade\Db;
  6. class Course
  7. {
  8. /**
  9. * 显示资源列表
  10. *
  11. * @return \think\Response
  12. */
  13. public function index()
  14. {
  15. //判断当前是post还是get请求
  16. // ispost()助手函数 判断是什么请求
  17. if (request()->ispost()) {
  18. $data = request()->param();
  19. $draw = $data['draw'];
  20. // 下面是排序的列数偏移量
  21. $order_column = $data["order"]["0"]["column"];
  22. // 获取排序的规则
  23. $order_dir = $data["order"]["0"]["dir"];
  24. $start = $data["start"];
  25. // 拿到每页输出的值
  26. $length = $data["length"];
  27. $orderSql = "";
  28. if (isset($order_column)) {
  29. $i = intval($order_column);
  30. switch ($i) {
  31. case '0':
  32. $orderSql .= " order by cou_id " . $order_dir . " ";
  33. break;
  34. default:
  35. $orderSql = " ";
  36. break;
  37. }
  38. }
  39. /**分页参数**/
  40. $start = $data['start'];
  41. /**从多少开始**/
  42. $length = $data['length'];
  43. // 拼接分页的mysql
  44. $limitSql = '';
  45. $limitSql .= " LIMIT " . intval($start) . "," . intval($length);
  46. // 查询总条数语句
  47. $totalsql = "SELECT count(cou_id) as sun FROM mj_course_lists WHERE status=1";
  48. // 声明一个过滤以后的条数
  49. $recordsFiltered = 0;
  50. // 数据表里面的总条数
  51. $recordsTotal = 0;
  52. // 获取一下总的数组
  53. $resTotal = Db::query($totalsql);
  54. // dd($resTotal); 获取总条数精确到数字 也就是拿到数组的值
  55. $recordsTotal = $resTotal[0]['sun'];
  56. //拼接搜索mysql
  57. $search = $data["search"]["value"];
  58. $searchsql = " and (cou_id LIKE '%" . $search . "%' or title LIKE '%" . $search . "%')";
  59. // 有过滤条件
  60. if (strlen($search) > 0) {
  61. $recordsFilteredResult = Db::query($totalsql . $searchsql);
  62. $recordsFiltered = $recordsFilteredResult[0]['sun'];
  63. } else {
  64. //没有过滤条件 意味着过滤后的条数=总条数
  65. $recordsFiltered = $recordsTotal;
  66. }
  67. $mainsql = 'select cou_id,title,info,pic from mj_course_lists where status=1';
  68. // dd($mainsql . $searchsql . $orderSql . $limitSql);
  69. // 取数据表所有的(过滤)数据
  70. // sql语句格式, select查询 字段 from来自表 where条件 LIKE '%g'条件中的条件 order by cou_id来自某个字段排序规则(正序倒叙) LIMIT查询的数量/页数
  71. $tableData = Db::query($mainsql . $searchsql . $orderSql . $limitSql);
  72. echo json_encode([
  73. "draw" => intval($data['draw']),
  74. 'recordsTotal' => $recordsTotal,
  75. 'recordsFiltered' => $recordsFiltered,
  76. 'tableData' => $tableData
  77. ], 320);
  78. } else {
  79. return view();
  80. }
  81. }
  82. /**
  83. * 显示创建资源表单页.
  84. *
  85. * @return \think\Response
  86. */
  87. /**
  88. * 保存新建的资源
  89. *
  90. * @param \think\Request $request
  91. * @return \think\Response
  92. */
  93. public function save(Request $request)
  94. {
  95. //
  96. }
  97. /**
  98. * 显示指定的资源
  99. *
  100. * @param int $id
  101. * @return \think\Response
  102. */
  103. public function read($id)
  104. {
  105. //
  106. }
  107. /**
  108. * 显示编辑资源表单页.
  109. *
  110. * @param int $id
  111. * @return \think\Response
  112. */
  113. public function edit($id)
  114. {
  115. //
  116. }
  117. /**
  118. * 保存更新的资源
  119. *
  120. * @param \think\Request $request
  121. * @param int $id
  122. * @return \think\Response
  123. */
  124. public function update(Request $request, $id)
  125. {
  126. //
  127. }
  128. /**
  129. * 删除指定资源
  130. *
  131. * @param int $id
  132. * @return \think\Response
  133. */
  134. public function delete($id)
  135. {
  136. //
  137. }
  138. }
相关推荐
阅读 +