PHP与分页 - 我知道我几乎在那里

时间:2012-10-19 02:26:42

标签: php

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

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

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

我已设置会话来执行搜索字词,但它似乎不起作用。我相信问题出在我用于显示结果的代码中。

我使用的脚本以此为例显示结果,但我无法使用当前的“while循环语句”示例

    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))”。

请帮忙!

2 个答案:

答案 0 :(得分:0)

假设您的搜索查询为$searchquery

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

答案 1 :(得分:0)

我认为你从搜索表单中获取了这些值,所以:

  • 您使用的是GET方法吗?
  • 您如何保留过滤数据的参数?

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