Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP分页脚本不适用于搜索_Php_Mysqli_Pagination - Fatal编程技术网

PHP分页脚本不适用于搜索

PHP分页脚本不适用于搜索,php,mysqli,pagination,Php,Mysqli,Pagination,我在所有页面中都使用了此代码。无论在哪里,该代码都能很好地工作。在我的搜索页面中,此代码按搜索词统计所有页面,但当我单击下一页(第二页或第三页)时,它无法显示任何项目。这意味着第二、第三或任何其他页面的sql查询不起作用。也没有错误。分页页面url也运行良好 我的搜索代码: if(isset($_POST['searchword'])){ $w = mysqli_real_escape_string($dbh, $_POST['searchword']); $q = strip_tags($

我在所有页面中都使用了此代码。无论在哪里,该代码都能很好地工作。在我的搜索页面中,此代码按搜索词统计所有页面,但当我单击下一页(第二页或第三页)时,它无法显示任何项目。这意味着第二、第三或任何其他页面的sql查询不起作用。也没有错误。分页页面url也运行良好

我的搜索代码:

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,该怎么办?您应该先定义它。