Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
32 / 32 / 24
Регистрация: 16.04.2015
Сообщений: 219
1

Ошибка в постраничной навигации

14.05.2015, 12:43. Показов 892. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста разобраться, прикручиваю к сайту постраничную навигацию, но что-то идет не так и выдает ошибки:

Warning: Missing argument 2 for articles(), called in Z:\home\white.loc\www\controller\controller.php on line 31 and defined in Z:\home\white.loc\www\model\model.php on line 30

Warning: Missing argument 3 for articles(), called in Z:\home\white.loc\www\controller\controller.php on line 31 and defined in Z:\home\white.loc\www\model\model.php on line 30
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Функция в файле model.php написана следующим образом:
PHP
1
2
3
4
5
6
7
8
9
10
function articles($articles, $start_pos, $perpage){
    $query = "SELECT new_id, title, anons, date, text, img FROM news ORDER BY new_id DESC LIMIT $start_pos, $perpage";
    $res = mysql_query($query) or die (mysql_error());
    
    $articless = array();
    while($row = mysql_fetch_assoc($res)){
        $articless[] = $row;
    }
    return $articless;
}
А вот так прописано в файле controller.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
case('articles'):
            // статьи выводимые на главной странице
            $articles = articles('articles');
            
            // параметры для навигации
            $perpage = PERPAGE; // количество статей на страницу
            if(isset($_GET['page'])){
                $page = (int)$_GET['page'];
                if($page < 1) $page = 1;
            }else{
                $page = 1;
            }
            $count_rows = count($articles);
            $pages_count = ceil($count_rows / $perpage);
            if(!$pages_count) $pages_count = 1;
            if($page > $pages_count) $page = $pages_count;
            $start_pos = ($page - 1) * $perpage;
            $endpos = $start_pos + $perpage;
            if($endpos > $count_rows) $endpos = $count_rows;
        break;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.05.2015, 12:43
Ответы с готовыми решениями:

Многоточие в постраничной навигации
Здравствуйте. Есть небольшой скрипт игровой статы. Количество инфы увеличилось, и страниц стало так...

Посздание постраничной навигации
Подскажите плиз ! Нужна постраничная навигация след вида : Есть например комментарии нужно выодить...

Меню постраничной навигации
Значит, есть меню постраничной навигации, которая выводит номера страниц по порядку. Код выглядит...

Скрипт постраничной навигации
Здрасте всем!! Полазил по форуму и в поиске, нашел кучу всяких тем, но не одна не помогла, поэтому...

3
Заблокирован
14.05.2015, 18:36 2
Ну, допишите второй и третий параметры при вызове. Или укажите для них значения по умолчанию в объявлении функции.
0
127 / 127 / 25
Регистрация: 20.11.2009
Сообщений: 498
14.05.2015, 18:42 3
Цитата Сообщение от Kven-M Посмотреть сообщение
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Ошибка запроса, проверьте его в админе
0
32 / 32 / 24
Регистрация: 16.04.2015
Сообщений: 219
15.05.2015, 10:50  [ТС] 4
Спасибо, за помощь, я прописал два недостающих параметра, в принципе это почти решило проблему, но на сайте постраничная навигация так и не выводится, всего в базе у меня три статьи (новости) на главную страницу выводится их две (как задано в $perpage = PERPAGE; где PERPAGE = 2), под этими статьями должна и находится постраничная навигация, но ее нет. Прописывая параметр с номером страницы в адресную строку браузера, ничего не происходит, так и остаюсь на главной странице. Файл controller.php выглядит теперь так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
case('articles'):          
            // параметры для навигации
            $perpage = PERPAGE; // количество статей на страницу
            if(isset($_GET['page'])){
                $page = (int)$_GET['page'];
                if($page < 1) $page = 1;
            }else{
                $page = 1;
            }
            $count_rows = count($articles); // общее количество Статей //функция прописана в файле model.php
            $pages_count = ceil($count_rows / $perpage); // Кол-во страниц - деление количества Статей на количество выводимых на страницу
            if(!$pages_count) $pages_count = 1; // минимум одна страница
            if($page > $pages_count) $page = $pages_count; // если запрошенная страница больше максимума
            $start_pos = ($page - 1) * $perpage; // начальная позиция для запроса (например LIMIT 0, 3)
            $endpos = $start_pos + $perpage; // до какой Статьи будет вывод на страницу
            if($endpos > $count_rows) $endpos = $count_rows;
            
            // статьи выводимые на главной странице
            $articles = articles($articles, $start_pos, $perpage);
        break;
Добавлено через 13 часов 25 минут
Все вопрос снят, разобрался.
0
15.05.2015, 10:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.05.2015, 10:50
Помогаю со студенческими работами здесь

Вопрос с постраничной навигации
Здравствуйте, Помогите разобраться с постраничной навигации,написал код,проблема в следующем,я...

Скрипт постраничной навигации
Проблемка такая-задался мыслью переделать свой сайт...в том числе и навигацию постраничную...так...

Косяк постраничной навигации в поиске
При поиске формируется вот такая ссылка...

Активный элемент постраничной навигации
Здравствуйте, есть скрипт вывод постов постранично, как присвоить активной странице другой цвет? ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru