您好我正在尝试通过页面显示我的用户数据
这是我的代码:
//Run a query to select all the data from the users table
$perpage = 2;
$result = mysql_query("SELECT * FROM users LIMIT $perpage");
它确实每页只显示两个,但我想知道如何获得链接到数据的底部的页码
这是我更新的代码
$result = mysql_query("SELECT * FROM users"); // Let's get the query
$nrResults=mysql_num_rows($result); // Count the results
if (($nrResults%$limit)<>0) {
$pmax=floor($nrResults/$limit)+1; // Divide to total result by the number of query
// to display per page($limit) and create a Max page
} else {
$pmax=floor($nrResults/$limit);
}
$result = mysql_query("SELECT * FROM users LIMIT 2 ".(($_GET["page"]-1)*$limit).", $limit");
// generate query considering limit
while($line = mysql_fetch_array( $result ))
{
?>
错误
解析错误:语法错误,第98行E:\ xampp \ htdocs \ Admin.php中的意外$结尾
答案 0 :(得分:4)
为了做到这一点,你还需要在SQL语句中使用偏移值,因此它将是
SELECT * FROM users LIMIT $offset, $perpage
示例:
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15
然后,为了获得放置在页面底部的链接,您需要获取总数据的计数,将总数除以每页值以计算出您将拥有的页数。
然后根据用户点击的页面设置偏移值。
希望有所帮助!
更新
意外结束很可能意味着您的代码中有一个额外的结束括号},导致页面结束并且后面仍然有更多代码。查看代码并匹配括号以解决问题。您粘贴的代码示例中还有一些其他问题。
$result = mysql_query("SELECT * FROM users" ); //Note if you have a very large table you probably want to get the count instead of selecting all of the data...
$nrResults = mysql_num_rows( $result );
if( $_GET['page'] ) {
$page = $_GET['page']
} else {
$page = 1;
}
$per_page = 2;
$offset = ($page - 1) * $per_page; //So that page 1 starts at 0, page 2 starts at 2 etc.
$result = mysql_query("SELECT * FROM users LIMIT $offset,$per_page");
while( $line = mysql_fetch_array( $result ) )
{
//Do whatever you want with each row in here
}
希望有所帮助
然后您可以使用nrResults编号来确定您将拥有多少页...如果您有10个记录并且每页显示2个,那么您将有5个页面,因此您可以打印5个链接页面中每个页面都有正确的页面#...
答案 1 :(得分:1)
使用请求! http://php.net/manual/en/reserved.variables.request.php
if (((isset($_GET['page'])) AND (is_int($_GET['page']))) {
$perpage = $_GET['page'];
}
$result = mysql_query("SELECT * FROM users LIMIT $perpage");
...
链接http://yourwebsite.com/userlistforexample.php? page = 3
或
http://yourwebsite.com/userlistforexample.php?somethingishere=21& 页= 3