Php 使用分页问题进行搜索

Php 使用分页问题进行搜索,php,mysql,Php,Mysql,我正在尝试开发一个带有分页功能的网站搜索功能,目前我有“所有文章”的分页功能,但是我似乎无法使用搜索功能实现这一功能 -目前搜索确实会返回结果(不分页),但是对于不符合条件的文章,它会返回一个错误而不是什么都没有?我相信这是由于我使用的计数器功能,但我不知道如何解决这个问题 任何帮助都将不胜感激 搜索功能 function searchPosts($term) { $match = '%' . $term . '%'; global $conn; $sql = &quo

我正在尝试开发一个带有分页功能的网站搜索功能,目前我有“所有文章”的分页功能,但是我似乎无法使用搜索功能实现这一功能

-目前搜索确实会返回结果(不分页),但是对于不符合条件的文章,它会返回一个错误而不是什么都没有?我相信这是由于我使用的计数器功能,但我不知道如何解决这个问题

任何帮助都将不胜感激

搜索功能

 function searchPosts($term)
{
    $match = '%' . $term . '%';
    global $conn;
    $sql = "
SELECT p.*
      , u.username 
  FROM posts AS p 
  JOIN users AS u 
    ON p.user_id=u.id 
 WHERE p.published=? 
   AND p.title LIKE ? 
   OR p.body LIKE ?";
    $stmt = executeQuery($sql, ['published' => 1, 'title' => $match, 'body' => $match]);
    $records = $stmt->get_result()->fetch_all(MYSQLI_ASSOC);
    return $records;
}
分页代码

if(isset($_GET['page']))
{
  $page = $_GET['page'];
}
else
{
  $page = 1;
}

$num_per_page = 05;
$start_from = ($page-1)*05;
//$pr_query = "SELECT * FROM posts WHERE published = 1";
$pr_query = "SELECT posts.*, users.username FROM posts JOIN users ON posts.user_id = users.id WHERE published = 1";
//"SELECT p.*, u.username FROM posts AS p JOIN users AS u ON p.user_id=u.id WHERE p.published=?";
$pr_result = mysqli_query($conn,$pr_query);
$test = $pr_result->fetch_all(MYSQLI_ASSOC);
$totalrecord = mysqli_num_rows($pr_result);
//echo $totalrecord;
$totalpages = ceil($totalrecord/$num_per_page);
//echo $totalpages;
搜索代码和文章循环

//Search Code
$posts = array();
$postsTitle = 'Recent Posts';

if (isset($_POST['search-term'])) {
$postsTitle = "Search Results for " . "'" . $_POST['search-term'] . "'";

 $test = searchPosts($_POST['search-term']);
  } else{

  $posts = getPublishedPosts();
}

//Article Loop

$max = $num_per_page + $start_from;
"max = " . $max;
for($counter = $start_from; $counter < $max; $counter++)
{
  if ($counter == $totalrecord) {
    break;
  }
  $p = $test[$counter];
  ?>
  <div class="post">

<img src="<?php echo 'Images/' . $p['image']; ?>" alt="" class="post-image">
<div class="post-preview">
<h2><a href="single.php?id=<?php echo $p['id']; ?>"><?php echo $p['title']; ?></a></h2>
<i class="far fa-user"> <?php echo $p['username']; ?></i>
&nbsp;
<i class="far fa-calendar"> <?php echo date('F j, Y', strtotime($p['created_at'])); ?></i>
<p class="preview-text">
  <?php echo html_entity_decode(substr($p['body'], 0, 150) . '...') ?>
</p>
<a href="single.php?id=<?php echo $p['id']; ?>" class="btn1">Read More</a>
//搜索代码
$posts=array();
$postsTitle=‘最近的帖子’;
如果(isset($_POST['search-term'])){
$postsTitle=“搜索“.”的结果。$\u POST['Search-term']”;
$test=searchPosts($_POST['search-term']);
}否则{
$posts=getPublishedPosts();
}
//文章循环
$max=$num\u每页+start\u from;
“max=”$最大值;
对于($counter=$start\u from;$counter<$max;$counter++)
{
如果($counter==$totalrecord){
打破
}
$p=$test[$counter];
?>
“alt=”“class=“post image”>


第155行,你的代码中是哪一行?我怀疑
哪里…和…或
能达到你的预期。建议巧妙地使用括号。