分页不起作用 [英] pagination is not working
本文介绍了分页不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
<?php
@session_start();
include 'connections.php';
$button = $_POST['submit'];
$search = $_POST['searchvalue'];
if(strlen($search)<=1)
{
$name = $_POST['name'];
//echo $a;
echo "Search term too short"; // when ever I click the next button in pagination the next result is alwaysing showing "Search Term too short"
}
else{
echo "You searched for $search <hr size='1'></br>";
$search_exploded = explode (" ", $search);
$x = "";
$construct = "";
foreach($search_exploded as $search_each)
{
$x++;
if($x==1)
$construct .="title LIKE '%$search_each%'";
else
$construct .="AND title LIKE '%$search_each%'";
}
$construct ="SELECT * FROM books WHERE $construct";
$run = mysql_query($construct);
$foundnum = mysql_num_rows($run);
if ($foundnum==0)
echo "Sorry, there are no matching result for $search.</br></br>1.";
else
{
echo "$foundnum results found !<p>";
}
$per_page = 2; // I set only 2 results per page But its showing all results in one page
$start = $_GET['start'];
$max_pages = ceil($foundnum / $per_page);
if(!$start)
$start=0;
$getquery = mysql_query("SELECT * FROM books WHERE $construct LIMIT $start, $per_page");
while($runrows = mysql_fetch_assoc($run))
{
echo $output;
}
$prev = $start - $per_page;
$next = $start + $per_page;
$adjacents = 3;
$last = $max_pages - 1;
if($max_pages > 1)
{
//previous button
if (!($start<=0))
echo " <a href='server.php?search=$search&submit&start=$prev'>Prev</a> ";
//pages
if ($max_pages < 7 + ($adjacents * 2)) //not enough pages to bother breaking it up
{
$i = 0;
for ($counter = 1; $counter <= $max_pages; $counter++)
{
if ($i == $start){
echo " <a href='server.php?search=$search&submit=$i'>$counter</a> ";
}
else {
echo " <a href='server.php?search=$search&submit&start=$i'>$counter</a> ";
}
$i = $i + $per_page;
}
}
elseif($max_pages > 5 + ($adjacents * 2)) //enough pages to hide some
{
//close to beginning; only hide later pages
if(($start/$per_page) < 1 + ($adjacents * 2))
{
$i = 0;
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++)
{
if ($i == $start){
echo " <a href='server.php?search=$search&submit=$i'>$counter</a> ";
}
else {
echo " <a href='server.php?search=$search&submit=$i'>$counter</a> ";
}
$i = $i + $per_page;
}
}
//in middle; hide some front and some back
elseif($max_pages - ($adjacents * 2) > ($start / $per_page) && ($start / $per_page) > ($adjacents * 2))
{
echo " <a href='server.php?search=$search&submit=0'>1</a> ";
echo " <a href='server.php?search=$search&submit&start=$per_page'>2</a> .... ";
$i = $start;
for ($counter = ($start/$per_page)+1; $counter < ($start / $per_page) + $adjacents + 2; $counter++)
{
if ($i == $start){
echo " <a href='server.php?search=$search&submit&start=$i'>$counter</a> ";
}
else {
echo " <a href='server.php?search=$search&submit&start=$i'>$counter</a> ";
}
$i = $i + $per_page;
}
}
//close to end; only hide early pages
else
{
echo " <a href='server.php?search=$search&submit=0'>1</a> ";
echo " <a href='server.php?search=$search&submit&start=$per_page'>2</a> .... ";
$i = $start;
for ($counter = ($start / $per_page) + 1; $counter <= $max_pages; $counter++)
{
if ($i == $start){
echo " <a href='server.php?search=$search&submit&start=$i'>$counter</a> ";
}
else {
echo " <a href='server.php?search=$search&submit&start=$i'>$counter</a> ";
}
$i = $i + $per_page;
}
}
}
//next button
if (!($start >=$foundnum-$per_page))
echo " <a href='server.php?search=$search&submit=$next'>Next</a> ";
}
echo "</center>";
}
?>
I用我的搜索引擎完成分页,但是当我点击下一个按钮时,分页工作不正常它总是显示搜索词太短,即在搜索逻辑中的条件中。我接下来就是每页只设置2个结果,但它也无法正常工作。请任何人帮助我
I done with my search engine with pagination, but pagination is not working properly when ever I click the next button It is always showing Search term is too short i.e in first if condition in search logic. and next Thing is I set only 2 results per page but it is also not working. please anyone help me
推荐答案
按钮 =
button =
_POST [ ' submit'];
_POST['submit'];
search =
search =
这篇关于分页不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文