PHP MySQL分页mysqli_result()错误
我正在进行分页,但没有成功。我尝试了使用PHP MySQL分页mysqli_result()错误,php,mysql,pagination,Php,Mysql,Pagination,我正在进行分页,但没有成功。我尝试了使用mysqli_fetch_数组,也尝试了mysqli_结果。 如果你有什么想法,请指导我。 对于分页页面,我尝试了找到的方法,但仍然存在问题。 这是我试过的代码 <?php $conn = mysqli_connect("localhost", "root", "", "vm"); include 'paginate.php'; $per_page = 2; $result = mysqli_query($conn, "SEL
mysqli_fetch_数组
,也尝试了mysqli_结果
。如果你有什么想法,请指导我。
对于分页页面,我尝试了找到的方法,但仍然存在问题。
这是我试过的代码
<?php
$conn = mysqli_connect("localhost", "root", "", "vm");
include 'paginate.php';
$per_page = 2;
$result = mysqli_query($conn, "SELECT * FROM table1");
$total_results = mysqli_num_rows($result);
$total_pages = ceil($total_results / $per_page);
if (isset($_GET['page'])) {
$show_page = $_GET['page'];
if ($show_page > 0 && $show_page <= $total_pages) {
$start = ($show_page - 1) * $per_page;
$end = $start + $per_page;
} else {
$start = 0;
$end = $per_page;
}
} else {
$start = 0;
$end = $per_page;
}
$page = intval($_GET['page']);
$tpages = $total_pages;
if ($page <= 0) {
$page = 1;
}
function paginate($reload, $page, $tpages)
{
$adjacents = 2;
$prevlabel = "‹ Prev";
$nextlabel = "Next ›";
$out = "";
// previous
if ($page == 1) {
$out .= "<span>" . $prevlabel . "</span>\n";
} elseif ($page == 2) {
$out .= "<li><a href=\"" . $reload . "\">" . $prevlabel . "</a>\n</li>";
} else {
$out .= "<li><a href=\"" . $reload . "&page=" . ($page - 1) . "\">" . $prevlabel . " </a>\n</li>";
}
$pmin = ($page > $adjacents) ? ($page - $adjacents) : 1;
$pmax = ($page < ($tpages - $adjacents)) ? ($page + $adjacents) : $tpages;
for ($i = $pmin; $i <= $pmax; $i++) {
if ($i == $page) {
$out .= "<li class=\"active\"><a href=''>" . $i . "</a></li>\n";
} elseif ($i == 1) {
$out .= "<li><a href=\"" . $reload . "\">" . $i . "</a>\n</li>";
} else {
$out .= "<li><a href=\"" . $reload . "&page=" . $i . "\">" . $i . "</a>\n</li>";
}
}
if ($page < ($tpages - $adjacents)) {
$out .= "<a style='font-size:11px' href=\"" . $reload . "&page=" . $tpages . "\">" . $tpages . "</a>\n";
}
// next
if ($page < $tpages) {
$out .= "<li><a href=\"" . $reload . "&page=" . ($page + 1) . "\">" . $nextlabel . " </a>\n</li>";
} else {
$out .= "<span style='font-size:11px'>" . $nextlabel . "</span>\n";
}
$out .= "";
return $out;
}
在查询中,您需要使用limit语句,以便mysql知道从何处获取数据。还可以看到这个问题:Hi@NiekvanderMaaden感谢您的快速评论,是的,在这个代码中,限制是$per_page=2;偏移量为$start=($show_page-1)*$每页;是吗?。是的,但您仍然必须在查询中使用这些变量。你在“SELECT*FROM table1”@Niekvandmaaden中缺少limit语句是的,当你告诉我限制mysql上的语句时,我还添加了“SELECT*FROM table1 limit 2 OFFSET 2”。你得到了什么错误?在你的查询中,你需要使用limit语句,以便mysql知道从哪里获取数据。还可以看到这个问题:Hi@NiekvanderMaaden感谢您的快速评论,是的,在这个代码中,限制是$per_page=2;偏移量为$start=($show_page-1)*$每页;是吗?。是的,但您仍然必须在查询中使用这些变量。你在“SELECT*FROM table1”中缺少limit语句@Niekvandmaaden是的,当你告诉我限制mysql上的语句时,我还添加了“SELECT*FROM table1 limit 2 OFFSET 2”。你得到了什么错误?