search.php 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <?php
  2. // 引入公共查询类
  3. require_once 'CommonQuery.php';
  4. // 获取URL参数
  5. $currentPage = isset($_GET['page']) ? intval($_GET['page']) : 1;
  6. $searchKeyword = isset($_GET['keyword']) ? $_GET['keyword'] : '';
  7. // 验证当前页码
  8. if ($currentPage < 1) {
  9. $currentPage = 1;
  10. }
  11. // 每页显示的文章数量
  12. $pageSize = 12;
  13. // 使用loadListPage函数获取全部文章搜索结果
  14. $results = loadListPage($pageSize, $currentPage, $searchKeyword);
  15. $workUpdates = $results['list'];
  16. $totalPages = $results['totalPages'];
  17. // 轮播图数据
  18. $carouselItems = [
  19. [
  20. "image" => "/images/test-header-4.png",
  21. "alt" => "搜索结果"
  22. ]
  23. ];
  24. ?>
  25. <!DOCTYPE html>
  26. <html lang="zh-CN">
  27. <head>
  28. <meta charset="UTF-8">
  29. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  30. <title>厦门市文化遗产保护中心 - 搜索结果</title>
  31. <link rel="stylesheet" href="/css/fonts.css">
  32. <link rel="stylesheet" href="/css/fontawesome.min.css">
  33. <link rel="stylesheet" href="/css/bootstrap.min.css">
  34. <link rel="stylesheet" href="/css/swiper-bundle.min.css">
  35. <link rel="stylesheet" href="/css/style.css">
  36. <script src="/js/jquery-3.7.1.js"></script>
  37. <script src="/js/bootstrap.bundle.js"></script>
  38. <script src="/js/swiper-bundle.min.js"></script>
  39. </head>
  40. <body>
  41. <?php include __DIR__ . '/components/navbar.php'; ?>
  42. <!-- 轮播图 -->
  43. <div class="swiper mySwiper" style="width: 100%; height: 400px;">
  44. <div class="swiper-wrapper">
  45. <?php foreach ($carouselItems as $item): ?>
  46. <div class="swiper-slide">
  47. <img src="<?php echo $item['image']; ?>" alt="<?php echo $item['alt']; ?>" style="width: 100%; height: 100%; object-fit: cover;">
  48. </div>
  49. <?php endforeach; ?>
  50. </div>
  51. <div class="swiper-pagination"></div>
  52. <div class="swiper-button-prev"></div>
  53. <div class="swiper-button-next"></div>
  54. </div>
  55. <!-- 主要内容 -->
  56. <div class="main-content">
  57. <div class="container">
  58. <div class="row">
  59. <!-- 左侧导航 -->
  60. <div class="col col-sm-12 col-md-3 col-lg-3">
  61. <div class="sidebar">
  62. <div class="title">
  63. <h2>搜索结果</h2>
  64. </div>
  65. </div>
  66. </div>
  67. <!-- 右侧内容 -->
  68. <div class="col col-sm-12 col-md-9 col-lg-9">
  69. <div class="content">
  70. <div class="section-title">
  71. <h2 class="icon">搜索结果</h2>
  72. <nav aria-label="breadcrumb">
  73. <ol class="breadcrumb">
  74. <li class="breadcrumb-item"><a href="/">首页</a></li>
  75. <li class="breadcrumb-item active" aria-current="page">搜索结果</li>
  76. </ol>
  77. </nav>
  78. </div>
  79. <!-- 文章列表 -->
  80. <div class="news-list">
  81. <?php if (!empty($workUpdates)): ?>
  82. <?php foreach ($workUpdates as $item): ?>
  83. <?php
  84. // 确保所有必要字段存在
  85. $title = isset($item['title']) ? $item['title'] : '暂无标题';
  86. $articleId = isset($item['id']) ? $item['id'] : '';
  87. $date = isset($item['createtime']) ? date('Y-m-d', strtotime($item['createtime'])) : '未知日期';
  88. ?>
  89. <div class="news-item">
  90. <a href="xinWenXiangQing.php?id=<?php echo $articleId; ?>&keyword=<?php echo urlencode($searchKeyword); ?>" class="title"><?php echo $title; ?></a>
  91. <span class="date"><?php echo $date; ?></span>
  92. </div>
  93. <?php endforeach; ?>
  94. <?php else: ?>
  95. <div class="no-news">
  96. <?php echo !empty($searchKeyword) ? '没有找到与"' . htmlspecialchars($searchKeyword) . '"相关的文章' : '暂无文章'; ?>
  97. </div>
  98. <?php endif; ?>
  99. </div>
  100. <!-- 分页 -->
  101. <nav aria-label="List Page navigation">
  102. <ul class="pagination mt-4">
  103. <li class="prev"><a href="search.php?page=<?php echo $currentPage > 1 ? $currentPage - 1 : 1; ?><?php echo !empty($searchKeyword) ? '&keyword=' . urlencode($searchKeyword) : ''; ?>">&lt;</a></li>
  104. <?php for ($i = 1; $i <= $totalPages; $i++): ?>
  105. <li class="<?php echo $i == $currentPage ? 'active' : ''; ?>"><a href="search.php?page=<?php echo $i; ?><?php echo !empty($searchKeyword) ? '&keyword=' . urlencode($searchKeyword) : ''; ?>"><?php echo $i; ?></a></li>
  106. <?php endfor; ?>
  107. <li class="next"><a href="search.php?page=<?php echo $currentPage < $totalPages ? $currentPage + 1 : $totalPages; ?><?php echo !empty($searchKeyword) ? '&keyword=' . urlencode($searchKeyword) : ''; ?>">&gt;</a></li>
  108. </ul>
  109. </nav>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. </div>
  115. <?php include __DIR__ . '/components/footer.php'; ?>
  116. <script>
  117. $(document).ready(function() {
  118. // 初始化 Swiper
  119. const swiper = new Swiper(".mySwiper", {
  120. slidesPerView: 1,
  121. spaceBetween: 30,
  122. loop: true,
  123. pagination: {
  124. el: ".swiper-pagination",
  125. clickable: true,
  126. },
  127. navigation: {
  128. nextEl: ".swiper-button-next",
  129. prevEl: ".swiper-button-prev",
  130. },
  131. autoplay: {
  132. delay: 5000,
  133. disableOnInteraction: false,
  134. },
  135. });
  136. // 为搜索输入框添加回车事件
  137. $('#search-input').on('keypress', function(e) {
  138. if (e.key === 'Enter') {
  139. performSearch();
  140. }
  141. });
  142. });
  143. // 执行搜索函数
  144. function performSearch() {
  145. const keyword = $('#search-input').val().trim();
  146. location.href = 'search.php?page=1&keyword=' + encodeURIComponent(keyword);
  147. }
  148. </script>
  149. </body>
  150. </html>