• Добро пожаловать на инвестиционный форум!

    Во всем многообразии инвестиций трудно разобраться. MMGP станет вашим надежным помощником и путеводителем в мире инвестиций. Только самые последние тренды, передовые технологии и новые возможности. 400 тысяч пользователей уже выбрали нас. Самые актуальные новости, проверенные стратегии и способы заработка. Сюда люди приходят поделиться своим опытом, найти и обсудить новые перспективы. 16 миллионов сообщений, оставленных нашими пользователями, содержат их бесценный опыт и знания. Присоединяйтесь и вы!

    Впрочем, для начала надо зарегистрироваться!
  • 🐑 Моисей водил бесплатно. А мы платим, хотя тоже планируем работать 40 лет! Принимай участие в партнеской программе MMGP
  • 📝 Знаешь буквы и умеешь их компоновать? Платим. Дорого. Бессрочная акция от MMGP: "ОПЛАТА ЗА СООБЩЕНИЯ"

Пагинация

Евгений Дмитрук

Интересующийся
Регистрация
05.11.2014
Сообщения
28
Реакции
2
Поинты
0.000
Может найдется человек, который поможет разобраться почему не работает пагинация на сайте... Проблема в том, что все статьи выводятся на одной странице и сама пагинация выдает ошибку:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11

Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11


Файл function.php
PHP:
<?php 
require_once 'config.php';

    function getALLArticles($start, $limit){
        $result = mysql_query("SELECT * FROM 'articles' LIMIT ".$start.", ".$limit);
        return resultSetArray($result);
    }
    
    function resultSetToArray($result){
        $array = array();
        while ($row = mysql_fetch_assoc($result)) $array[] = $row;
        return $array;
    }
    function countArticles(){
        $result = mysql_query("SELECT COUNT('id') FROM 'articles'");
        $result = mysql_fetch_row($result);
        return $result[0];
    }
    function getStart($page, $limit){
        return $limit * ($page - 1);
    }
    function pagination($page, $limit){
        $count_articles = countArticles();
        $count_pages = ceil($count_articles / $limit);
        if ($page > $count_pages) $page = count_pages;
        $prev = $page - 1;
        $next = $page + 1;
        if ($prev < 1) $prev = 1;
        if (next > $count_pages) $next = $count_pages;
        $pagination = "";
        if ($count_pages > 1){
            if ($page == 1){
                $pagination .= "<span>Первая<span>";
                $pagination .= "<span>Предыдущая</span>";
            }
            else {
                $pagination .= "<a href='index.php'>Первая</a>";
                    if ($pref == 1) $pagination .= "<a href='index.php'>Первая</a>";
                else {
                    $pagination .= "<a href='index.php?page=".$prev."'>Предыдущая</a>";
                }
                for ($i = 1; $i <= $count_pages; $i++){
                    if ($i == 1) $pagination .= "<a href='index.php'>".$i."</a>";
                    elseif ($i == $page) $pagination .= "<span>".$i."</span>";
                    else $pagination .= "<a href='index.php?page=".$i."'>".$i."</a>";
                }
                
                if ($page == $count_pages){
                    $pagination .= "<span>Следующая</span>";
                    $pagination .= "<span>Последняя</span>";
                }
                else{
                    $pagination .= "<a href='index.php?page=".$next."'>Следующая</a>"; 
                    $pagination .= "<a href='index.php?page=".$count_page."'>Последняя</a>";
                }
                
            }
        }
        return $pagination;
    }
?>

navigation.php
PHP:
<?php 
require_once 'models/function.php';
// Навигация
$page = $_GET['page'];
if (($page < 1) or ($page == "")) $page = 1; // если page меньше 1 или равен строке, то выводим 1. 
echo $page;
$limit = 5; 
$start = getStart($page, $limit);
$articles = getAllArticles($start, $limit);
for ($i = 0; $i < count($articles); $i++) echo $articles [$i]["title"];
echo $pagination($page, $limit )

?>
<nav>
    <ul class="pagination blog-pagination">
                <li>
                    <a href="#" aria-label="Previous">
                        <span aria-hidden="true">«</span>
                    </a>
                </li>
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
            <li><a href="#">5</a></li>
      <li>
        <a href="#" aria-label="Next">
            <span aria-hidden="true">»</span>
        </a>
      </li>
    </ul>
</nav>

Выдает ошибку:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11

Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11

Что с функцией resultSetArray не так?
 
Последнее редактирование:

FromInc

Интересующийся
Регистрация
16.04.2017
Сообщения
39
Реакции
1
Поинты
0.000
Может найдется человек, который поможет разобраться почему не работает пагинация на сайте... Проблема в том, что все статьи выводятся на одной странице и сама пагинация выдает ошибку:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11

Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11


Файл function.php
PHP:
<?php 
require_once 'config.php';

    function getALLArticles($start, $limit){
        $result = mysql_query("SELECT * FROM 'articles' LIMIT ".$start.", ".$limit);
        return resultSetArray($result);
    }
    
    function resultSetToArray($result){
        $array = array();
        while ($row = mysql_fetch_assoc($result)) $array[] = $row;
        return $array;
    }
    function countArticles(){
        $result = mysql_query("SELECT COUNT('id') FROM 'articles'");
        $result = mysql_fetch_row($result);
        return $result[0];
    }
    function getStart($page, $limit){
        return $limit * ($page - 1);
    }
    function pagination($page, $limit){
        $count_articles = countArticles();
        $count_pages = ceil($count_articles / $limit);
        if ($page > $count_pages) $page = count_pages;
        $prev = $page - 1;
        $next = $page + 1;
        if ($prev < 1) $prev = 1;
        if (next > $count_pages) $next = $count_pages;
        $pagination = "";
        if ($count_pages > 1){
            if ($page == 1){
                $pagination .= "<span>Первая<span>";
                $pagination .= "<span>Предыдущая</span>";
            }
            else {
                $pagination .= "<a href='index.php'>Первая</a>";
                    if ($pref == 1) $pagination .= "<a href='index.php'>Первая</a>";
                else {
                    $pagination .= "<a href='index.php?page=".$prev."'>Предыдущая</a>";
                }
                for ($i = 1; $i <= $count_pages; $i++){
                    if ($i == 1) $pagination .= "<a href='index.php'>".$i."</a>";
                    elseif ($i == $page) $pagination .= "<span>".$i."</span>";
                    else $pagination .= "<a href='index.php?page=".$i."'>".$i."</a>";
                }
                
                if ($page == $count_pages){
                    $pagination .= "<span>Следующая</span>";
                    $pagination .= "<span>Последняя</span>";
                }
                else{
                    $pagination .= "<a href='index.php?page=".$next."'>Следующая</a>"; 
                    $pagination .= "<a href='index.php?page=".$count_page."'>Последняя</a>";
                }
                
            }
        }
        return $pagination;
    }
?>

navigation.php
PHP:
<?php 
require_once 'models/function.php';
// Навигация
$page = $_GET['page'];
if (($page < 1) or ($page == "")) $page = 1; // если page меньше 1 или равен строке, то выводим 1. 
echo $page;
$limit = 5; 
$start = getStart($page, $limit);
$articles = getAllArticles($start, $limit);
for ($i = 0; $i < count($articles); $i++) echo $articles [$i]["title"];
echo $pagination($page, $limit )

?>
<nav>
    <ul class="pagination blog-pagination">
                <li>
                    <a href="#" aria-label="Previous">
                        <span aria-hidden="true">«</span>
                    </a>
                </li>
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
            <li><a href="#">5</a></li>
      <li>
        <a href="#" aria-label="Next">
            <span aria-hidden="true">»</span>
        </a>
      </li>
    </ul>
</nav>

Выдает ошибку:
Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in V:\home\blogv2.lv\www\models\function.php on line 11

Fatal error: Function name must be a string in V:\home\blogv2.lv\www\views\navigation.php on line 11

Что с функцией resultSetArray не так?

function resultSetToArray($result) {
$array = array();
while ($row = $result->fetch_assoc())
$array[] = $row;
return $array;
}
 
Последнее редактирование:

shopclient2017

Интересующийся
Регистрация
09.10.2017
Сообщения
5
Реакции
0
Поинты
0.000
Сложное это дело программировать, не для каждого занятие.
 
Сверху Снизу