2014-01-12 2 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

것은 – ThomasK

+0

위해서 var_dump 반환 ..이 반환 무엇을 $의 vytah''에'php.var_dump을()'할 nothinh 전혀 반환되는 것을 의미 – NEXGmR

+0

거짓 부울 . 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와 prepared statements를 사용하는 단점 중 하나입니다. '또는 die (mysql_error())'는 정말 훌륭한 도구였습니다. – Mave

+0

대단히 감사합니다! 이것으로 해결했습니다! – NEXGmR

관련 문제