Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с классами постраничной навигации SoftTime FrameWork
 
 автор: сотка   (25.03.2011 в 16:28)   письмо автору
6.7 Кб
 
 

вопросы по классам постр.навигации

  Ответить  
 
 автор: сотка   (25.03.2011 в 16:30)   письмо автору
3.2 Кб
 
   для: сотка   (25.03.2011 в 16:28)
 

class.pager_dir.php

  Ответить  
 
 автор: сотка   (25.03.2011 в 16:41)   письмо автору
244 байт
 
   для: сотка   (25.03.2011 в 16:30)
 

ну и наконец подлючение

  Ответить  
 
 автор: сотка   (25.03.2011 в 16:42)   письмо автору
 
   для: сотка   (25.03.2011 в 16:41)
 

выдает ошибку что ф-ция не определена....

  Ответить  
 
 автор: cheops   (25.03.2011 в 17:23)   письмо автору
 
   для: сотка   (25.03.2011 в 16:28)
 

>class pager_dir extends pager_abstract
Так как pager_dir наследует от pager_abstract, то pager_abstract тоже нужно подключать к скрипту. Вообще лучше подключить всю группу классов для работы с постраничной навигацией.

  Ответить  
 
 автор: сотка   (26.03.2011 в 11:41)   письмо автору
 
   для: cheops   (25.03.2011 в 17:23)
 

спасибо

  Ответить  
 
 автор: сотка   (26.03.2011 в 18:34)   письмо автору
 
   для: cheops   (25.03.2011 в 17:23)
 

Fatal error: Class 'pager_abstract' not found in /usr/home/comka/htdocs/class.pager_dir.php on line 16 все равно такая ошибка...

  Ответить  
 
 автор: cheops   (26.03.2011 в 18:49)   письмо автору
 
   для: сотка   (26.03.2011 в 18:34)
 

Покажите как подключаете класс pager_abstract?

  Ответить  
 
 автор: сотка   (28.03.2011 в 15:54)   письмо автору
 
   для: cheops   (26.03.2011 в 18:49)
 

<?php
require_once ("class.pager_abstract.php");
require_once ("class.pager_dir.php");
require_once ("class.pager_file_search.php");
require_once ("class.pager.php");
require_once ("class.pager_file.php");
?>
затем этот файл подключаю сразу

  Ответить  
 
 автор: cheops   (28.03.2011 в 16:19)   письмо автору
 
   для: сотка   (28.03.2011 в 15:54)
 

Попробуйте так
<?php
require_once ("class.pager.php");
require_once (
"class.pager_abstract.php");
require_once (
"class.pager_dir.php");
require_once (
"class.pager_file_search.php");
require_once (
"class.pager_file.php");
?>
pager - это базовый класс, pager_abstract - абстрактный, все остальные наследуются от них.

  Ответить  
 
 автор: сотка   (28.03.2011 в 16:41)   письмо автору
 
   для: cheops   (28.03.2011 в 16:19)
 

Fatal error: Class pager contains 4 abstract methods and must therefore be declared abstract or implement the remaining methods (pager::get_total, pager::get_pnumber, pager::get_page_link, ...) in /usr/home/comka/htdocs/class.pager.php on li
ошибка при открытие файла
<?php
require_once ("class.pager.php");
require_once ("class.pager_abstract.php");
require_once ("class.pager_dir.php");
require_once ("class.pager_file_search.php");
require_once ("class.pager_file.php");
?>

  Ответить  
 
 автор: сотка   (28.03.2011 в 16:45)   письмо автору
 
   для: сотка   (28.03.2011 в 16:41)
 

Fatal error: Class pager contains 4 abstract methods and must therefore be declared abstract or implement the remaining methods (pager::get_total, pager::get_pnumber, pager::get_page_link, ...) in /usr/home/comka/htdocs/class.pager.php on line 180 точнее
самый прикол в том что когда открываю классы по отдельности в среде разработки IDE ошибок не выдает...IDE-php desinger

  Ответить  
 
 автор: cheops   (28.03.2011 в 17:04)   письмо автору
 
   для: сотка   (28.03.2011 в 16:45)
 

>Fatal error: Class pager contains 4 abstract methods and must therefore be declared abstract or
>implement the remaining methods (pager::get_total, pager::get_pnumber, pager::get_page_link, ...) in /
>usr/home/comka/htdocs/class.pager.php on line 180 точнее
>самый прикол в том что когда открываю классы по отдельности в среде разработки IDE ошибок
>не выдает...IDE-php desinger
А эту ошибку кто выдает (и какая у него версия)?

  Ответить  
 
 автор: сотка   (28.03.2011 в 17:10)   письмо автору
 
   для: cheops   (28.03.2011 в 17:04)
 

эту ошибку выдает когда загружаю на хостинг...http://h2m.ru/

  Ответить  
 
 автор: cheops   (28.03.2011 в 17:15)   письмо автору
 
   для: сотка   (28.03.2011 в 17:10)
 

Какая версия PHP на нем используется?

  Ответить  
 
 автор: сотка   (28.03.2011 в 17:22)   письмо автору
 
   для: cheops   (28.03.2011 в 17:15)
 

php 5 даже чуть выше 5.03 что ли

  Ответить  
 
 автор: cheops   (28.03.2011 в 17:29)   письмо автору
 
   для: сотка   (28.03.2011 в 17:22)
 

А точно можно узнать до 3 знака?

  Ответить  
 
 автор: сотка   (28.03.2011 в 17:31)   письмо автору
 
   для: cheops   (28.03.2011 в 17:29)
 

написал в поддержку ждем ответа...сейчас на форуме спрошу еще может быстрее получиться. подождите пожалуйста

  Ответить  
 
 автор: cheops   (28.03.2011 в 17:33)   письмо автору
5.2 Кб
 
   для: сотка   (28.03.2011 в 17:31)
 

В отдельной папке разверните содержимое zip-архива, запуск index.php тоже вызывает ошибку?

  Ответить  
 
 автор: сотка   (28.03.2011 в 17:38)   письмо автору
 
   для: cheops   (28.03.2011 в 17:33)
 

>В отдельной папке разверните содержимое zip-архива, запуск index.php тоже вызывает ошибку? какого zip-архива?
PS:
На всех серверах обновлен PHP до версии 5.3 если верить новостям данного хостинга

  Ответить  
 
 автор: cheops   (28.03.2011 в 17:57)   письмо автору
 
   для: сотка   (28.03.2011 в 17:38)
 

Попробуйте запустить содержимое архива, который приведен выше.

  Ответить  
 
 автор: сотка   (28.03.2011 в 18:11)   письмо автору
 
   для: cheops   (28.03.2011 в 17:57)
 

все отлично с архивом ошибок нет

  Ответить  
 
 автор: сотка   (28.03.2011 в 18:13)   письмо автору
 
   для: cheops   (28.03.2011 в 17:57)
 

в чем же моя ошибка была?...спасибо большое вам

  Ответить  
 
 автор: cheops   (28.03.2011 в 18:24)   письмо автору
 
   для: сотка   (28.03.2011 в 18:13)
 

Если не сложно, прикрепите ваш архив с вашими файлами, чтобы можно было их запустить и воспроизвести ошибку.

  Ответить  
 
 автор: сотка   (28.03.2011 в 18:33)   письмо автору
 
   для: cheops   (28.03.2011 в 18:24)
 

нашел ошибку одну уже. в базовом классе класс не был объявлен абстрактным а его методы были абстрактными и еще не боьшие синтактические ошибки. поэтому на виртуалке они ошибок не выдавали.
Notice: Undefined index: page in /usr/home/comka/htdocs/arhif/class.pager_dir.php on line 38 img scr=photo/1.jpg >
Notice: Undefined index: page in /usr/home/comka/htdocs/arhif/class.pager.php on line 17 [1-1]
осталось исправить и все

  Ответить  
 
 автор: cheops   (28.03.2011 в 18:38)   письмо автору
 
   для: сотка   (28.03.2011 в 18:33)
 

Notice - это не ошибки, это замечания по стилю кодирования, обычно на конечных серверах их вывод подавляется, но можно исправить. Плохо то, что иногда для их исправления приходится писать совершенно лишний код (поэтому некоторые разработчики их игнорируют, уменьшая тревожность интерпретатора).

  Ответить  
 
 автор: сотка   (28.03.2011 в 18:45)   письмо автору
 
   для: cheops   (28.03.2011 в 18:38)
 

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

  Ответить  
 
 автор: cheops   (28.03.2011 в 18:48)   письмо автору
 
   для: сотка   (28.03.2011 в 18:45)
 

Речь вот о чем, вы можете управлять тревожностью интерпретатора при помощи функции error_reporting(), назначая тот или иной уровень
<?php
  error_reporting
(E_ALL & ~E_NOTICE); 
?>

  Ответить  
 
 автор: сотка   (28.03.2011 в 18:53)   письмо автору
 
   для: cheops   (28.03.2011 в 18:48)
 

теперь понятно я даже этого и не знал. спасибо большое!

  Ответить  
 
 автор: cheops   (28.03.2011 в 16:46)   письмо автору
 
   для: сотка   (28.03.2011 в 16:41)
 

Странно, а у вас в скрипте больше ничего нет, и классы лежат в той же директории, что и скрипт? Я сейчас воспроизвел ситуацию - у меня ошибка не выводится
<?php 
require_once ("class.pager.php"); 
require_once (
"class.pager_abstract.php"); 
require_once (
"class.pager_dir.php"); 
require_once (
"class.pager_file.php"); 
require_once (
"class.pager_file_search.php"); 
?>

  Ответить  
 
 автор: сотка   (28.03.2011 в 16:51)   письмо автору
 
   для: cheops   (28.03.2011 в 16:46)
 

index.php 1.2K
class.pager.php 6.5K
style.css 655B
class.pager_abstract.php 1.7K
sensor
class.pager_dir.php 3.2K
class.pager_file.php 3.4K
class.pager_file_search.php 3.1K
class.pager_mysql.php 4.0K
photo
class.pager_dir_photo.php 214B
class.pag_dir.php
<?php //class.pag_dir.php
require_once ("class.pager.php");
require_once ("class.pager_abstract.php");
require_once ("class.pager_dir.php");
require_once ("class.pager_file.php");
require_once ("class.pager_file_search.php");
?>
class.pager_dir_photo.php 214B этот файл непосредственное подключение навигации к папки photo

  Ответить  
 
 автор: cheops   (28.03.2011 в 16:59)   письмо автору
 
   для: сотка   (28.03.2011 в 16:51)
 

Если не сложно, прикрепите к сообщению файла class.pager.php

  Ответить  
 
 автор: сотка   (28.03.2011 в 17:02)   письмо автору
6.7 Кб
 
   для: cheops   (28.03.2011 в 16:59)
 

"E:\site\class\class.pager.php" с прилогаемого диска

  Ответить  
 
 автор: сотка   (28.03.2011 в 16:58)   письмо автору
 
   для: cheops   (28.03.2011 в 16:46)
 

может из за сервера? вроде php5 поддерживает

  Ответить  
 
 автор: сотка   (28.03.2011 в 15:59)   письмо автору
 
   для: cheops   (26.03.2011 в 18:49)
 

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

  Ответить  
 
 автор: Красная_шляпа   (26.03.2011 в 22:34)   письмо автору
 
   для: сотка   (26.03.2011 в 18:34)
 

абстрактный класс нужно подключать выше чем этот

  Ответить  
 
 автор: сотка   (28.03.2011 в 15:56)   письмо автору
 
   для: Красная_шляпа   (26.03.2011 в 22:34)
 

мда...тяжко мне дается php не могу даже готовое подключить

  Ответить  
 
 автор: cheops   (28.03.2011 в 16:20)   письмо автору
 
   для: сотка   (28.03.2011 в 15:56)
 

Ничего страшного, все через это проходят - дольше мучаетесь, дольше знания потом держаться будут. Причем проходят не только в программировании, но и в музыке, рисовании, боевых искусствах и любых других видах деятельности. Да, сначала медленно, тяжело и с ошибками, но потом все будет хорошо, потерпите. Ваше время не пропадает даром, как это может показаться.

  Ответить  
 
 автор: сотка   (28.03.2011 в 16:47)   письмо автору
 
   для: cheops   (28.03.2011 в 16:20)
 

просто иногда такие вопросы задаю после ответа на которые самому смешно становится. оказывается можно и самому было догадатся.

  Ответить  
 
 автор: Красная_шляпа   (25.03.2011 в 22:38)   письмо автору
 
   для: сотка   (25.03.2011 в 16:28)
 



// <?php &copyby Красная Шляпа

function pagination($url$start$items$items_per_page$links_per_page$params "") {
    
$pages ceil($items $items_per_page);
    if (
is_array($params)) {
        
$tmp = array();
        foreach (
$params as $param => $value) {
            
$tmp[] = "$param=".rawurlencode($value);
        }
        
$params implode("&"$tmp);
    }
    if (
$pages 1) {
        
$tmp = array();
        
$page ceil(($start 1) / $items_per_page);
        
$links ceil($pages $links_per_page);
        
$link ceil($page $links_per_page);
        
$page_start $link $links_per_page $links_per_page;
        
$page_end $page_start $links_per_page;
        
$page_end = ($page_end $pages 1) ? $page_end $pages;
        
$first $page_start $items_per_page;
        
$last $pages $items_per_page $items_per_page;
        if (
$link 1) {
            
$start = ($first $items_per_page $links_per_page) +
            (
$links_per_page 1) * $items_per_page;
            
$tmp[] = "<a href=\"{$url}".($params != "" "?$params"")."\" title=\"перв.\">&laquo;&laquo;</a>";
            
$tmp[] = "<a href=\"{$url}?start=$start".($params != "" "&$params"")."\" title=\"пред.\">&laquo;</a>";
        }
        for (
$i $page_start$i $page_end; ++$i) {
            
$start $i $items_per_page;
            if (
$page == $i 1) {
                
$tmp[] = "<strong>$page</strong>";
            }
            else {
                if (
$i == 0) {
                    
$tmp[] = "<a href=\"{$url}".($params != "" "?$params"")."\">".($i 1)."</a>";
                }
                else {
                    
$tmp[] = "<a href=\"{$url}?start=$start".($params != "" "&$params"")."\">".($i 1)."</a>";
                }
            }
        }
        if (
$link $links) {
            
$start $page_end $items_per_page;
            
$tmp[] = "<a href=\"{$url}?start=$start".($params != "" "&$params"")."\" title=\"след.\">&raquo;</a>";
            
$tmp[] = "<a href=\"{$url}?start=$last".($params != "" "&$params"")."\" title=\"посл.\">&raquo;&raquo;</a>";
        }
        return 
"<div class=\"pagination\">".implode(" "$tmp)."</div>\n";
    }
    return 
false;
}

// $start = isset($_GET["start"]) ? abs(intval($_GET["start"])) : 0;
// while (<...>) { // тут выводим новости
//      <...>
// }
// $q = mysql_query("select count(*) from news;");
// $total = (int) mysql_fetch($q, 0);
// // печатаем ссылки
// echo pagination("news.php", $start, $total, 10 /* сколько новостей на странице */, 10/*сколько ссылок печатать*/);

  Ответить  
 
 автор: сотка   (26.03.2011 в 11:43)   письмо автору
 
   для: Красная_шляпа   (25.03.2011 в 22:38)
 

спасибо и вам

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования