繁体   English   中英

PHP分页-我知道我快到了

[英]PHP with pagination - I know I am almost there

我创建了一个数据库搜索,该数据库生成一个HTML表来显示结果。 结果显示文章标题,该文章标题将超链接至其在服务器上的位置以及文章作者。

一切正常,直到我使用在线脚本设置了分页。 分页返回25个结果,并导航到下一页。 第一页中的所有结果都很好,但似乎搜索查询并未带到其他页面。

如果选择另一个页面“ 2,3,...,last”,它将显示整个mysql表中的信息,而不是查询的数据。

我已经设置了会话来携带搜索词,但是它似乎没有用。 我相信问题出在我用来显示结果的代码中。

我使用的脚本有此作为一个例子来显示结果,但我不能让它与我目前的“而循环语句” 下面的示例工作

    if ($page < $counter - 1) 
        $pagination.= "<a href=\"$targetpage?page=$next\">next �</a>";
    else
        $pagination.= "<span class=\"disabled\">next �</span>";
    $pagination.= "</div>\n";       
}
?>

<?php
    while($row = mysql_fetch_array($result))
    {

    // Your while loop here

    }
?>

<?=$pagination?>

这是我使用过的脚本的最后一位,用于显示数据。

<h2>Results</h2>

<table border="0" cellpadding="5">
  <tr>
    <td><div align="center"><strong>Title</strong></div></td>
    <td><div align="center"><strong>Author</strong></div></td>
  </tr>
<?php do { ?>

<tr>
  <td><?php echo  '<a href="' . 'http:filelocation' . $row['pdf_path'] . '" target="_new">' .$row['pdf_title'] . '</a>'; 
 ?></td>
  <td><?php echo $row['author'] ;?></td>
  <td><div align="center"><?php echo $row['pages']; ?></div></td>
  </tr>
<?php } 

while ($row = mysql_fetch_array($sql))

 ?>

我正在使用“ do while”语句获取数据并显示结果,但是不知道如何使用正确的语法添加“ while($ row = mysql_fetch_array($ result))”。

请帮忙!

假设您的搜索查询是$searchquery

    $pagination.= "<a href=\"$targetpage?searchquery=$searchquery&page=$next\">next �</a>";

我认为您是从搜索表单中获得该值的,所以:

  • 您正在使用GET方法吗?
  • 如何保持过滤数据所依据的参数?

然后,在search.php中,您需要获取提交的参数,该参数将在$_GET变量中,然后再次过滤数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM