2014-01-12 26 views
0

我正在做第一次分頁並遇到問題。這個問題似乎與mysqli_fetch_array同時存在。錯誤說:mysqli_fetch_array()期望參數1是mysqli_result,布爾給定...分頁代碼中的錯誤

這是我的代碼與整個分頁部分。謝謝!

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

做了'php.var_dump()''上$ vytah'什麼返回.. – ThomasK

+0

的var_dump返回布爾值false – NEXGmR

+0

這意味着nothinh在全部返回。你可能在你的SQL語法錯誤.. – ThomasK

回答

0

LIMIT(變量$最大)必須是最後的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 "); 
+0

這是使用mysqli和預處理語句的一個缺點。 '或死(mysql_error())'是一個非常棒的工具。 – Mave

+0

非常感謝!這解決了它! – NEXGmR