Próbuję zrobić pagination według tutoriala z youtube. Jednak na stronie wyskakuje mi błąd Fatal error: Unsupported operand types.
Ten problem dotyczy tego fragmentu kodu :
A tutaj przedstawiam cały kod:
<?php require_once "connect.php"; if ($dbh->connect_errno !=0) { } else { try { //Pierwsze zapytanie do policzenia liczby wierszy $sth=$dbh->prepare("SELECT COUNT(id) FROM Spis"); $sth->execute(); $row = $sth->fetchAll(PDO::FETCH_ASSOC); //Tutaj mamy wszystkie $rows = $row[0]; //To jest liczba rezultatow, ktore chcemy wyswietla na stronie $page_rows = 10; //Liczba naszej ostatniej strony //Upewniamy sie,ze $last nie jest mniejszy od 1 if ($last < 1) { $last = 1; } //Ustawiamy $pagenum jako zmienna $pagenum = 1; //Bierzemy pagenum z URL if jezeli jest terazniejsza, else jezeli jest 1 { } //Upewniamy sie,ze numer strony nie jest nizszy niz 1 albo nie jest wiekszy niz $last if ($pagenum < 1) { $pagenum = 1; } else if ($pagenum > $last) { $pagenum = $last; } //Ustalamy zasieg wierszy do wybrania $pagenum $limit = 'LIMIT ' .($pagenum - 1) * $page_rows.',' .$page_rows; // Zapytanie biorace jedna strony wierszy $sql = $dbh->prepare("SELECT ID, Imie, Nazwisko FROM Spis"); $sql->execute(); //Pokazuje uzytkownikowi, na ktorej jest stronie i liczbe stron dostepnych $textline1 = "Spis ludnosci (<b>$rows</b>)"; $textline2 = "Strona <b>$pagenum</b> of <b>$last</b>"; // Ustawiamy $paginationCtrls jako zmienna $paginationCtrls = ''; //Jezeli jest wiecej niz 1 strona rezultatow if ($last != 1) { /*Sprawdzamy czy jestesmy na 1 stronie. Jezeli tak to nie potrzebujemy "Poprzednia" A jezeli nie jestesmy to generujemy link do pierwszej stroyn i do nastepnej.*/ if ($pagenum > 1) { $previous = $pagenum -1; $paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$previous.'">Poprzednia</a> '; //Generujemy klikalne linki for($i = $pagenum - 4; $i < $pagenum; $i++) { if($i > 0) { $paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'">'.$i.'</a> $nbsp; '; } } } //Generujemy liczbę strony, na której jesteśmy bez możliwości przejścia do niej ponownie $paginationCtrls .= ''.$pagenum.' $nbsp; '; //Generujemy klikalne numery strony, ktore pojawia sie po prawej for($i = $pagenum + 1; $i <= $last; $i++) { $paginationCtrls .= '<a href="'.$_SERVER['PHP_SELF'].'?pn='.$i.'</a> '; if($i >= $pagenum + 4) { break; } //To samo co wyzej tylko sprawdzamy czy jestesmy na ostatniej stronie jak tak to nie generujemy next if ($pagenum != last) { $next = $pagenum + 1; $paginationCtrls .= ' <a href="'.$_SERVER['PHP_SELF'].'?pn='.$next.'">Następna</a>'; } } } $list = ''; while($row = $sql->fetchAll(PDO::FETCH_ASSOC)) { $id = $row["ID"]; $firstname = $row["Imie"]; $lastname = $row["Nazwisko"]; } } catch (Exception $e) { } $dbh=null; } ?>