1

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

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

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

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

我使用的脚本将此作为显示结果的示例,但我无法让它与我当前的“while 循环语句”一起使用 示例如下

    if ($page < $counter - 1) 
        $pagination.= "<a href=\"$targetpage?page=$next\">next �&lt;/a>";
    else
        $pagination.= "<span class=\"disabled\">next �&lt;/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))”。

请帮忙!

4

2 回答 2

0

假设您的搜索查询是$searchquery

    $pagination.= "<a href=\"$targetpage?searchquery=$searchquery&page=$next\">next �&lt;/a>";
于 2012-10-19T02:31:25.710 回答
0

我认为您正在从搜索表单中获取该值,因此:

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

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

于 2012-10-19T02:56:59.367 回答