LIMIT x,x和foreach无法按预期工作

时间:2015-06-16 18:53:58

标签: php mysql foreach

我正在使用两个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=1id=$rows?page=2会显示所有结果mods表的结果从id=31行开始,然后上升到id=$rows

我该如何解决这个问题?是数据库类的错误吗?

提前感谢您的帮助!

0 个答案:

没有答案