0

所以我正在尝试制作一个页面,我可以在其中显示我的数据库表中的结果。您应该能够搜索并且应该有一些分页,因为有成千上万的结果。

我设法制作了一个只有搜索功能的页面,并且效果很好。所以现在我需要知道如何将一些分页整合到其中。

索引.php

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
      <div id="container">
        <form action="" method="get">
        <input type="text" name="search" id="search" placeholder="Search" />
        <input type="submit" />
            </form>
        <?php include 'process.php'; ?>
      </div> <!-- /container -->
    <script src="js/jquery.js"></script>
    <script src="js/script.js"></script>
  </body>
</html>

进程.php

<?php include 'dbconfig.php'; ?>
<?php include 'connect.php'; ?>
<?php   
$search = $_GET['search'];
$result = mysql_query("SELECT * FROM oantkb WHERE Name LIKE '%$search%' ORDER BY `INDEX` DESC");

echo '<table class="table">';
echo '<thead>';
echo '<tr>';
echo '<th>#</th>';
echo '<th>Pic</th>';
echo '<th>Name</th>';
echo '</tr>';
echo '</thead>';
echo '<tbody>';

while($row = mysql_fetch_assoc($result)) {

    $pic = $row['Pic'];
    $name = $row['Name'];

    echo '<tr>';
    echo '<td>#</td>';
    echo '<td><img src="'.$pic.'" height="50" width 50"></td>';
    echo '<td>'.$name.'</td>';
    echo '</tr>';
}

echo '</tbody>';
echo '</table>';
?>

现在它像它应该的那样工作。当我搜索时它会说 index.php?search=banana,但我需要添加一些分页,所以它会说例如 index.php?search=banana&?page=2。或类似的规定。希望这是有道理的...我是 php 新手 :)

4

2 回答 2

1

在您的 sql 查询末尾包含以下内容:

$resultsPerPage=10;
$page = ($_GET["page"]-1)*$resultsPerPage;
$query = $query." LIMIT $page,$resultsPerPage";
mysql_query($query);

顺便说一句,不推荐使用 mysql_ 库以支持 mysqli。

上面的内容也容易受到 sql 注入攻击,因为 $_GET["page"] 没有首先被清理,但为了简单起见,我这样做了。

这假设一个分页方案从 1 开始。

于 2012-09-17T17:38:44.893 回答
0

我已经使用 Pear Pagination 很长时间了。你可以试试。

这是一个很好的设置教程

PHP教程中的简单分页

添加的一件好事是在您的查询中使用它们之前清理您的变量。

于 2012-09-17T17:34:34.943 回答