PHP分页脚本不适用于搜索
我在所有页面中都使用了此代码。无论在哪里,该代码都能很好地工作。在我的搜索页面中,此代码按搜索词统计所有页面,但当我单击下一页(第二页或第三页)时,它无法显示任何项目。这意味着第二、第三或任何其他页面的sql查询不起作用。也没有错误。分页页面url也运行良好 我的搜索代码:PHP分页脚本不适用于搜索,php,mysqli,pagination,Php,Mysqli,Pagination,我在所有页面中都使用了此代码。无论在哪里,该代码都能很好地工作。在我的搜索页面中,此代码按搜索词统计所有页面,但当我单击下一页(第二页或第三页)时,它无法显示任何项目。这意味着第二、第三或任何其他页面的sql查询不起作用。也没有错误。分页页面url也运行良好 我的搜索代码: if(isset($_POST['searchword'])){ $w = mysqli_real_escape_string($dbh, $_POST['searchword']); $q = strip_tags($
if(isset($_POST['searchword'])){
$w = mysqli_real_escape_string($dbh, $_POST['searchword']);
$q = strip_tags($w);
$q = trim ($w);
$limit = 12;
if (isset($_GET["page"])) { $page = $_GET["page"]; } else { $page=1; };
$start_from = ($page-1) * $limit;
$sql = "SELECT * FROM search_data WHERE MATCH(detail) AGAINST('+$q*' IN BOOLEAN MODE) ORDER BY id ASC LIMIT $start_from, $limit";
$execute = $dbh->query("$sql");
$rowcount = $execute->num_rows ;
if ($rowcount > 0 ) {
$row = $dbh->query($sql) ;
while ($row = $execute->fetch_assoc()) {
$detail = $row['detail'];
$url = $row['url'];
echo $detail;
}
}
}
//Pagination
$sql = "SELECT COUNT(id) FROM search_data WHERE MATCH(detail) AGAINST('+$q*' IN BOOLEAN MODE)";
$result = mysqli_query($dbh,$sql);
$row = mysqli_fetch_row($result);
$total_records = $row[0];
if($total_records > 0){$total_pages = ceil($total_records / $limit); }
$pagLink = "<ul class='pagination'>";
if(!empty($total_pages)){for ($i=1; $i<=$total_pages; $i++) {
$pagLink .= "<li><a href='".$thispage."?page=".$i."'>".$i."</a> </li>";
};
echo $pagLink . "</ul>";
}
if(isset($\u POST['searchword'])){
$w=mysqli\u real\u escape\u字符串($dbh,$\u POST['searchword']);
$q=条形标签($w);
$q=修剪($w);
$limit=12;
if(isset($_GET[“page”]){$page=$_GET[“page”];}else{$page=1;};
$start_from=($page-1)*$limit;
$sql=“从搜索数据中选择*,其中根据id ASC LIMIT$start\U FROM$LIMIT匹配(细节)(在布尔模式下为“+$q*”)顺序”;
$execute=$dbh->query($sql”);
$rowcount=$execute->num\u行;
如果($rowcount>0){
$row=$dbh->query($sql);
而($row=$execute->fetch_assoc()){
$detail=$row['detail'];
$url=$row['url'];
回声$细节;
}
}
}
//分页
$sql=“从搜索_数据中选择计数(id),其中匹配(细节)(在布尔模式下为“+$q*”);
$result=mysqli_查询($dbh,$sql);
$row=mysqli\u fetch\u行($result);
$total_records=$row[0];
如果($total_records>0){$total_pages=ceil($total_records/$limit);}
$pagLink=“”;
如果(!empty($total_pages)){for($i=1;$i可能是因为分页链接中没有包含搜索词。页面2如何知道您正在筛选结果?此外,您正在f语句中定义一个$q变量,试图在语句外部使用。如果您不传入if,该怎么办?您应该先定义它。