我使用page.php在word press中开发了一个表单。现在我正在显示从数据库中获取的所有表单数据。但是,当我显示我的所有记录时,我的页面会滚动很多。现在我想在我的页面上实现分页。任何人都可以建议我如何在word press中实现分页。因为我第一次实施分页所以我使用本教程从某些地方找到..它的工作正常,但没有为下一页记录创建正确的链接。谢谢......
if ( !( isset( $pagenum ) ) ) {
$pagenum = 1;
}
这里我们计算结果的数量 编辑$ data作为您的查询
$data = mysql_query("SELECT * FROM red_donation_info") or die( mysql_error() );
$rows = mysql_num_rows( $data );
这是每页显示的结果数
$page_rows = 10;
这告诉我们最后一页的页码
$last = ceil( $rows / $page_rows );
这可确保页码不低于或超过我们的最大页数
if ( $pagenum < 1 ) {
$pagenum = 1;
} elseif ( $pagenum > $last ) {
$pagenum = $last;
}
这设置了我们的查询中显示的范围
$max = 'limit ' .($pagenum - 1) * $page_rows .',' .$page_rows;
这是您的查询,同一个...唯一的区别是我们将$ max添加到其中
$data_p = mysql_query("SELECT * FROM red_donation_info $max") or die(mysql_error());
这是显示查询结果的地方
while ( $info = mysql_fetch_array( $data_p ) ) {
print $info['Name'];
echo "<br>";
}
echo "<p>";
这会向用户显示他们所在的页面以及总页数
echo " --Page $pagenum of $last-- <p>";
首先,我们检查一下是否在第一页。如果我们那么我们不需要链接到上一页或第一页,所以我们什么都不做。如果不是,那么我们会生成指向第一页和上一页的链接。
if ( $pagenum == 1 ) {
} else {
echo "<a href='{$_SERVER['PHP_SELF']}?pagenum=1'> <<-First</a> ";
echo " ";
$previous = $pagenum-1;
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$previous'> <-Previous</a> ";
}
只是一个间隔
echo " ---- ";
这与上面相同,只检查我们是否在最后一页,然后生成下一个和最后一个链接
if ( $pagenum == $last ) {
} else {
$next = $pagenum + 1;
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$next'>Next -></a> ";
echo " ";
echo " <a href='{$_SERVER['PHP_SELF']}?pagenum=$last'>Last ->></a> ";
}
答案 0 :(得分:0)
尽量避免使用mysql_ *函数
$_GET['start'] = isset($_GET['start']) && ctype_digit($_GET['start']) ? abs(@intval($_GET['start'])) : 0;
$select = mysql_query("SELECT COUNT(`id`) FROM `red_donation_info`");
$total = mysql_result($select, 0, 0);
$pages = ceil($total / 10);
$ret = '';
for($i = 1; $i <= $pages; $i++) {
$start = ($i - 1) * 10;
$ret .= "<a href='".$_SERVER['PHP_SELF']."?start=".$start."'>Page ".$i."</a>, ";
}
echo "Page: ".substr($ret, 0, -2);
$mainSelect = mysql_query("SELECT `whatever` FROM `red_donation_info` LIMIT ".$_GET['start'].", 10");
// Loop through data here
这就是我要做的事情。
未经测试,因此可能需要编辑