我第一次做分页并遇到问题。问题似乎出现在我使用mysqli_fetch_array的行上。错误说明:mysqli_fetch_array()期望参数1为mysqli_result,boolean given ...
这是我的整个分页部分的代码。谢谢!
if (!(isset($page_num))) {
$page_num = 1;
}
$sqlko = mysqli_query($con, "SELECT * FROM clanek INNER JOIN uzivatel ON clanek.uzivatel_ID=uzivatel.uzivatel_ID");
$rows = mysqli_num_rows($sqlko);
$rows_num = 5;
$last = ceil ($rows/$rows_num);
if($page_num < 1) {
$page_num = 1;
} else if($page_num > $last) {
$page_num = $last;
}
$max = 'limit ' .($page_num - 1) * $rows_num .',' .$rows_num;
$vytah = mysqli_query($con,"SELECT * FROM clanek INNER JOIN uzivatel ON clanek.uzivatel_ID=uzivatel.uzivatel_ID $max ORDER BY clanek_ID DESC ");
while($clanecky = mysqli_fetch_array($vytah)){
if($clanecky["typ_ID"] == "1") {
$nadpis_alpha = $clanecky["nadpis"];
$nadpis = urldecode($nadpis_alpha);
$obsah = $clanecky["obsah"];
$uzivatel_ID = $clanecky["uzivatel_ID"];
$jmeno = $clanecky["jmeno"];
$prijmeni = $clanecky["prijmeni"];
$datum = $clanecky["datum"];
$novinka_ID = $clanecky["clanek_ID"];
echo "<div class='domu_column'>";
echo "<h2><a href='index.php?page=novinka&id=$novinka_ID&nazev=$nadpis'>".$nadpis."</a></h2>";
echo "<div id='novinka_panel'><b>".$jmeno." ".$prijmeni."</b> | ";
echo $datum."</div>";
echo "<p>".$obsah."</p>";
echo "Stránka $page_num z $last";
if ($page_num == 1) {
} else {
echo " <a href='{$_SERVER['PHP_SELF']}?page=domu&page_num=1'> <<-First</a>";
echo " ";
$predchozi = $page_num - 1;
echo " <a href='{$_SERVER['PHP_SELF']}?page=domu&page_num=$predchozi'> <<-Předchozí</a>";
}
echo "----";
if ($page_num == $last) {
} else {
$next = $page_num + 1;
echo " <a href='{$_SERVER['PHP_SELF']}?page=domu&page_num=$next'>Next -></a> ";
echo " ";
echo " <a href='{$_SERVER['PHP_SELF']}?page=domu&page_num=$last'>Last ->></a> ";
}
echo "</div>";
}}
答案 0 :(得分:0)
LIMIT
(变量$ max)必须是SQL查询中的最后一个。但是,您在ORDER BY
之前插入。请参阅SELECT Syntax。
$max = 'limit ' .($page_num - 1) * $rows_num .',' .$rows_num;
$vytah = mysqli_query($con,"SELECT * FROM clanek INNER JOIN uzivatel ON clanek.uzivatel_ID=uzivatel.uzivatel_ID $max ORDER BY clanek_ID DESC ");
更改为:
$vytah = mysqli_query($con,"SELECT * FROM clanek INNER JOIN uzivatel ON clanek.uzivatel_ID=uzivatel.uzivatel_ID ORDER BY clanek_ID DESC $max ");