我正在使用两个php类。
第一个是数据库连接类,它是以下内容: https://github.com/rorystandley/MySQL-CRUD-PHP-OOP
并且第一个是分页类,如下所示: https://github.com/daveismyname/pagination/
我的代码:
$db = new Database();
$db->connect();
$pages = new Paginator('30','page');
$db->select('mods'); // Getting mods table
$rows = $db->numRows(); // Get number of rows
$pages->set_total($rows); // Record number of rows to pagination class
$db->select('mods', '*', null, null, null, $pages->get_limit() ); // Make request to the database
$mods = $db->getResult(); // Ger result from the database
foreach ( $mods as $key => $mod) {
$key += 1;
echo '
<tr>
<td class="text-center">' . $mod['id'] . '</td>
<td data-id="' . $key . '">' . $mod['full_name'] . '</td>
<td class="text-center">' . $mod['short_name'] . '</td>
</tr>
';
}
通过分页类的文档,我正在正确地做所有事情,但是,我必须更改此函数public function get_limit()
。
我已从那里删除了单词LIMIT
,以便在数据库类的函数$db->select()
中使用它。 select()
函数在此文件中表示 - 来自95
行上方链接的数据库类的mysql_crud.php。
循环的主要问题是将数据从数据库分解为部分。
例如,如果我突破30个结果,则第一个?page=1
会从数据库中获得所有结果 - 因此从id=1
到id=$rows
,?page=2
会显示所有结果mods
表的结果从id=31
行开始,然后上升到id=$rows
。
我该如何解决这个问题?是数据库类的错误吗?
提前感谢您的帮助!