searchSolution.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?php
  2. include('../conn_mysqli.php');
  3. include('../phpMode/rcodeMap.php');
  4. $key = $_POST['key'];
  5. $type = $_POST['type'] ? $_POST['type'] : 'all';
  6. // 设置 $page 的默认值为1,并限定取值范围在1-10之间
  7. $page = isset($_POST['page']) ? max(1, min(10, intval($_POST['page']))) : 1;
  8. // 设置 $limit 的默认值为20,并限定取值范围在1-100之间
  9. $limit = isset($_POST['limit']) ? max(1, min(100, intval($_POST['limit']))) : 20;
  10. $offset = ($page - 1) * $limit;
  11. header('Content-Type:text/json;charset=utf-8;');
  12. $resObj = array(
  13. 'rcode' => Rcode_OK,
  14. 'data' => "",
  15. 'msg' => 'ok'
  16. );
  17. $parent_type = isset($p_parent_type) ? $p_parent_type : 1;
  18. //echo $parent_type;
  19. try {
  20. set_time_limit(50);
  21. $conn = createConn();
  22. $sql = "";
  23. $stmt = null;
  24. if ($type == "all") {
  25. // 无条件全选
  26. if (!empty($key)) {
  27. // echo " \n php is low \n";
  28. $sql = 'SELECT news.id,news.remark,news.title as name,news.image,news.source,news.sourceType,n_type.type_key
  29. FROM mysql85931094_db.hfy_news as news , mysql85931094_db.hfy_news_type as n_type
  30. where news.type_id = n_type.type_id and n_type.parent_type = '.$parent_type.' and news.title like \''.$key.'\' order by news.id desc limit ?,?';
  31. } else {
  32. // echo " \n fuck php \n";
  33. $sql = 'SELECT news.id,news.remark,news.title as name,news.image,news.source,news.sourceType,n_type.type_key
  34. FROM mysql85931094_db.hfy_news as news , mysql85931094_db.hfy_news_type as n_type
  35. where news.type_id = n_type.type_id and n_type.parent_type = '.$parent_type.' order by news.id desc limit ?,?';
  36. }
  37. $stmt = mysqli_prepare($conn, $sql);
  38. mysqli_stmt_bind_param($stmt, "dd", $offset, $limit);
  39. } else {
  40. if (!empty($key)) {
  41. // echo " \n fuck php ? \n";
  42. $sql = 'SELECT
  43. news.id,news.remark,news.title as name,news.image,news.source,news.sourceType,n_type.type_key
  44. FROM mysql85931094_db.hfy_news as news ,
  45. mysql85931094_db.hfy_news_type as n_type
  46. where news.type_id = n_type.type_id and n_type.type_key = ? and news.title like \''.$key.'\'
  47. order by news.id desc limit ?,?';
  48. $stmt = mysqli_prepare($conn, $sql);
  49. mysqli_stmt_bind_param($stmt, "ssdd", $type, $key, $offset, $limit);
  50. } else {
  51. // echo " \n fuck fuck fuck \n";
  52. $sql = 'SELECT
  53. news.id,news.remark,news.title as name,news.image,news.source,news.sourceType,n_type.type_key
  54. FROM mysql85931094_db.hfy_news as news , mysql85931094_db.hfy_news_type as n_type
  55. where news.type_id = n_type.type_id and n_type.type_key = ?
  56. order by news.id desc limit ?,?';
  57. $stmt = mysqli_prepare($conn, $sql);
  58. mysqli_stmt_bind_param($stmt, "sdd", $type, $offset, $limit);
  59. }
  60. }
  61. mysqli_stmt_execute($stmt);
  62. $res = mysqli_stmt_get_result($stmt);
  63. while ($row = mysqli_fetch_assoc($res)) {
  64. $rs[] = $row;
  65. }
  66. mysqli_close($conn);
  67. $resObj['data'] = $rs;
  68. echo json_encode($resObj);
  69. }catch(Exception $e)
  70. {
  71. // echo 'Message: ' .$e->getMessage();
  72. $resObj['rcode'] = Rcode_ServerError;
  73. $resObj['msg'] = 'server error';
  74. echo json_encode($resObj);
  75. }