其他页面的搜索结果



我创建了一个表,显示mysql表中的值。然后,使用教程创建分页系统。

页面顶部:

if (isset($_GET['page']) && $_GET['page']!="") {
$page = $_GET['page'];
} else {
$page = 1;
}
$total_records_per_page = 10;
$offset = ($page-1) * $total_records_per_page;
$previous_page = $page - 1;
$next_page = $page + 1;
$adjacents = "2";
$result_count = mysqli_query(
$conn,
"SELECT COUNT(*) As total_records FROM `snapchat`"
);
$total_records = mysqli_fetch_array($result_count);
$total_records = $total_records['total_records'];
$total_no_of_pages = ceil($total_records / $total_records_per_page);
$second_last = $total_no_of_pages - 1; 

页面底部:

<nav aria-label="Page navigation example">
<ul class="pagination justify-content-center">
<?php // if($page > 1){ echo "<li><a href='?page=1'>First Page</a></li>"; } ?>

<li <?php if($page <= 1){ echo "class='page-item page-link disabled' style='color:black;'"; } ?>>
<a <?php if($page > 1){ echo "class='page-link' href='?page=$previous_page'"; } ?>>Poprzednia</a>
</li>

<?php 
if ($total_no_of_pages <= 10){       
for ($counter = 1; $counter <= $total_no_of_pages; $counter++){
if ($counter == $page) {
echo "<li class='page-item active'><a class='page-link'>$counter</a></li>";  
}else{
echo "<li class='page-item'><a class='page-link' href='?page=$counter'>$counter</a></li>";
}
}
}
elseif($total_no_of_pages > 10){

if($page <= 4) {            
for ($counter = 1; $counter < 8; $counter++){       
if ($counter == $page) {
echo "<li class='page-item active'><a class='page-link'>$counter</a></li>";  
}else{
echo "<li class='page-item'><a class='page-link' href='?page=$counter'>$counter</a></li>";
}
}
echo "<li class='page-item'><a class='page-link'>...</a></li>";
echo "<li class='page-item'><a class='page-link' href='?page=$second_last'>$second_last</a></li>";
echo "<li class='page-item'><a class='page-link' href='?page=$total_no_of_pages'>$total_no_of_pages</a></li>";
}
elseif($page > 4 && $page < $total_no_of_pages - 4) {       
echo "<li class='page-item'><a class='page-link' href='?page=1'>1</a></li>";
echo "<li class='page-item'><a class='page-link' href='?page=2'>2</a></li>";
echo "<li class='page-item'><a class='page-link'>...</a></li>";
for ($counter = $page - $adjacents; $counter <= $page + $adjacents; $counter++) {           
if ($counter == $page) {
echo "<li class='page-item active'><a class='page-link'>$counter</a></li>";  
}else{
echo "<li class='page-item'><a class='page-link' href='?page=$counter'>$counter</a></li>";
}                  
}
echo "<li class='page-item'><a class='page-link'>...</a></li>";
echo "<li class='page-item'><a class='page-link' href='?page=$second_last'>$second_last</a></li>";
echo "<li class='page-item'><a class='page-link' href='?page=$total_no_of_pages'>$total_no_of_pages</a></li>";      
}

else {
echo "<li class='page-item'><a class='page-link' href='?page=1'>1</a></li>";
echo "<li class='page-item'><a class='page-link' href='?page=2'>2</a></li>";
echo "<li class='page-item'><a class='page-link'>...</a></li>";
for ($counter = $total_no_of_pages - 6; $counter <= $total_no_of_pages; $counter++) {
if ($counter == $page) {
echo "<li class='page-item active'><a class='page-link'>$counter</a></li>";  
}else{
echo "<li class='page-item'><a class='page-link' href='?page=$counter'>$counter</a></li>";
}                   
}
}
}
?>

<li <?php if($page >= $total_no_of_pages){ echo "class='page-item page-link disabled' style='color:black;'"; } ?>>
<a <?php if($page < $total_no_of_pages) { echo "class='page-link' href='?page=$next_page'"; } ?>>Następna</a>
</li>
<?php if($page < $total_no_of_pages){
echo "<li class='page-item'><a class='page-link' href='?page=$total_no_of_pages'>Ostatnia &rsaquo;&rsaquo;</a></li>";
} ?>
</ul>
</nav>

然后我用onkeyup="myFunction()"和MyFunction创建了一个搜索引擎(输入):

function myFunction() {
// Declare variables 
var input, filter, table, tr, td, i;
input = document.getElementById("myInput");
filter = input.value.toUpperCase();
table = document.getElementById("myTable");
tr = table.getElementsByTagName("tr");
// Loop through all table rows, and hide those who don't match the search query
for (i = 0; i < tr.length; i++) {
td = tr[i].getElementsByTagName("td") ; 
for(j=0 ; j<td.length ; j++)
{
let tdata = td[j] ;
if (tdata) {
if (tdata.innerHTML.toUpperCase().indexOf(filter) > -1) {
tr[i].style.display = "";
break ; 
} else {
tr[i].style.display = "none";
}
} 
}
}
}

当我尝试搜索某些东西时,我的问题出现了-它只从1页搜索,并且从其他页面不下载结果。我想让它从所有页面中搜索我。

你需要在后端实现搜索,而不是前端,因为你只加载一个页面,而不是所有的结果。

假设你当前的链接看起来像http://localhost:8080/table?page=1,你需要修改它,以便它将搜索输入的值发送到后端,例如http://localhost:8080/table?page=1&s=somevalue

然后需要将该值传递给SQL脚本,并根据结果进行分页。

最新更新