Поставил пагинатор на сайт но при открытии любой страницы в листинге "горит "цифра единица как будто открыта постоянно 1-ая страница.Помогите как это исправить...
Привожу код пагинаторпа
<? class pagination {
public $elements;
public $num = 10;
public $height = 5;
public function createLink() {
$page = !empty($_GET['page']) ? (int)$_GET['page'] : 1;
// Выясняем количество страниц
$total = ceil($this->elements / $this->num);
// Теперь проверяем чтобы переменная page не была меньше 1 и не больше последней страницы
if ($page < 1) $page = 1;
elseif ($page > $total) $page = $total;
// Для лимита в нашем запросе, подсчитываем первый оператор, который
// показывает с какой записи мы начинаем делать выборку
$start = ($page - 1) * $this->num;
$left = $page - $this->height;
if ($left < 1) $left = 1;
$right = $page + $this->height;
if ($right > $total) $right = $total;
// Выводим листинг
$return = '';
if ($page > 1) $return .= ' <a href="1.php">начало</a> . . . <a href="'. ($page - 1) .'.php"><<</a> ';
for ($i = $left; $i <= $right; ++$i)
{
if ($i != $page)
echo ' <a href="?page='. $i .'.php">'.$i.'</a> ';
else
echo ' <b>'. $i .'</b> ';
}
if ($page < $total) $return .= ' <a href="'. ($page + 1) .'.php">>></a> . . . <a href="'. $total .'.php">конец</a> ';
return $return;
}
} ?>
Спустя 1 час, 20 минут, 33 секунды (7.07.2011 - 00:20) DySprozin написал(а):
о да... человек, который писал данный класс, явно знает толк в извращениях (; просто функцией обойтись было нельзяяя, ну никак (; ну это так, лирическое отступление...
красные строки себе вставь - что выводит при клацаньи по разным страницам?
Тестируем...
<? class pagination {
public $elements;
public $num = 10;
public $height = 5;
public function createLink() {
$page = !empty($_GET['page']) ? (int)$_GET['page'] : 1;
// Выясняем количество страниц
$total = ceil($this->elements / $this->num);
// Теперь проверяем чтобы переменная page не была меньше 1 и не больше последней страницы
echo '<h1>test_$page:::::'.$page.'</h1>';
echo '<h1>test_$total:::::'.$total.'</h1>';
if ($page < 1) $page = 1;
elseif ($page > $total) $page = $total;
// Для лимита в нашем запросе, подсчитываем первый оператор, который
// показывает с какой записи мы начинаем делать выборку
$start = ($page - 1) * $this->num;
$left = $page - $this->height;
if ($left < 1) $left = 1;
$right = $page + $this->height;
if ($right > $total) $right = $total;
// Выводим листинг
$return = '';
if ($page > 1) $return .= ' <a href="1.php">начало</a> . . . <a href="'. ($page - 1) .'.php"><<</a> ';
for ($i = $left; $i <= $right; ++$i)
{
if ($i != $page)
echo ' <a href="?page='. $i .'.php">'.$i.'</a> ';
else
echo ' <b>'. $i .'</b> ';
}
if ($page < $total) $return .= ' <a href="'. ($page + 1) .'.php">>></a> . . . <a href="'. $total .'.php">конец</a> ';
return $return;
}
}
?>
public $elements;
public $num = 10;
public $height = 5;
public function createLink() {
$page = !empty($_GET['page']) ? (int)$_GET['page'] : 1;
// Выясняем количество страниц
$total = ceil($this->elements / $this->num);
// Теперь проверяем чтобы переменная page не была меньше 1 и не больше последней страницы
echo '<h1>test_$page:::::'.$page.'</h1>';
echo '<h1>test_$total:::::'.$total.'</h1>';
if ($page < 1) $page = 1;
elseif ($page > $total) $page = $total;
// Для лимита в нашем запросе, подсчитываем первый оператор, который
// показывает с какой записи мы начинаем делать выборку
$start = ($page - 1) * $this->num;
$left = $page - $this->height;
if ($left < 1) $left = 1;
$right = $page + $this->height;
if ($right > $total) $right = $total;
// Выводим листинг
$return = '';
if ($page > 1) $return .= ' <a href="1.php">начало</a> . . . <a href="'. ($page - 1) .'.php"><<</a> ';
for ($i = $left; $i <= $right; ++$i)
{
if ($i != $page)
echo ' <a href="?page='. $i .'.php">'.$i.'</a> ';
else
echo ' <b>'. $i .'</b> ';
}
if ($page < $total) $return .= ' <a href="'. ($page + 1) .'.php">>></a> . . . <a href="'. $total .'.php">конец</a> ';
return $return;
}
}
?>
красные строки себе вставь - что выводит при клацаньи по разным страницам?
Спустя 7 минут, 2 секунды (7.07.2011 - 00:27) datvid написал(а):
??????
Спустя 55 минут, 22 секунды (7.07.2011 - 01:23) tatti написал(а):
datvid
скажи, а зачем $start ?
скажи, а зачем $start ?
Спустя 59 минут, 25 секунд (7.07.2011 - 02:22) DySprozin написал(а):
Цитата (datvid @ 7.07.2011 - 01:27) |
?????? |
что именно не понял? вставь себе 2 строки, что я тебе указал:
echo '<h1>test_$page:::::'.$page.'</h1>';
echo '<h1>test_$total:::::'.$total.'</h1>';
и скажи, что выводит
Спустя 4 часа, 27 минут, 11 секунд (7.07.2011 - 06:49) datvid написал(а):
Стало наабарот,номера меняються а страницы нет...
Спустя 6 часов, 19 минут, 53 секунды (7.07.2011 - 13:09) DySprozin написал(а):
datvid
да ты мне скажешь что выводится или нет?
да ты мне скажешь что выводится или нет?

Спустя 8 минут, 25 секунд (7.07.2011 - 13:17) datvid написал(а):
echo '<h1>test_$page:::::'.$page.'</h1>';
echo '<h1>test_$total:::::'.$total.'</h1>';
echo '<h1>test_$total:::::'.$total.'</h1>';
Спустя 8 минут, 53 секунды (7.07.2011 - 13:26) DySprozin написал(а):
*напевает что-то между "я убью тебя лодочник" и "сколько я зарезал, сколько перерезал, сколько душ я загубил"*
я тебя спрашиваю: что выводят строки:
если их вставить туда, куда я тебе сказал... ты мне выдаешь те же строки... все, пойду повешусь );
я тебя спрашиваю: что выводят строки:
echo '<h1>test_$page:::::'.$page.'</h1>';
echo '<h1>test_$total:::::'.$total.'</h1>';
если их вставить туда, куда я тебе сказал... ты мне выдаешь те же строки... все, пойду повешусь );
Спустя 37 секунд (7.07.2011 - 13:27) datvid написал(а):
test_$page:::::1
test_$total:::::17
Спустя 53 секунды datvid написал(а):
Не надо вешаться,я уже написал что выдает...
test_$total:::::17
Спустя 53 секунды datvid написал(а):
Не надо вешаться,я уже написал что выдает...

Спустя 1 минута, 34 секунды (7.07.2011 - 13:29) DySprozin написал(а):
воот, видишь как просто (с)
"test_$page:::::1" выдает на _любой_ странице?
"test_$page:::::1" выдает на _любой_ странице?
Спустя 1 минута, 38 секунд (7.07.2011 - 13:30) datvid написал(а):
и что это значит?
Спустя 1 минута, 51 секунда (7.07.2011 - 13:32) DySprozin написал(а):
datvid
вот ты нажал на страничку "2", "горит" цифра единица, правильно?
а на экране все также:
test_$page:::::1
test_$total:::::17
или уже что-то другое? (;
вот ты нажал на страничку "2", "горит" цифра единица, правильно?
а на экране все также:
test_$page:::::1
test_$total:::::17
или уже что-то другое? (;
Спустя 3 минуты, 4 секунды (7.07.2011 - 13:35) datvid написал(а):
тоже самое...Я и так знал что при нажатии любой цифровой ссылки при открытии соответствующей странички циферка 1 всегда показывает что будто открыта страница 1
Спустя 2 минуты, 11 секунд (7.07.2011 - 13:37) datvid написал(а):
И где ощибка?
Спустя 1 минута, 57 секунд (7.07.2011 - 13:39) DySprozin написал(а):
datvid
теперь сразу после public function createLink() { вставь строку:
if (empty($_GET['page'])) echo '<h1 style="color:red">Ошибка</h1>';
он тебе выдаст надпись "Ошибка". Также, как и в предыдущем случае, проверь: на любой странице выдает "ошибка"?
теперь сразу после public function createLink() { вставь строку:
if (empty($_GET['page'])) echo '<h1 style="color:red">Ошибка</h1>';
он тебе выдаст надпись "Ошибка". Также, как и в предыдущем случае, проверь: на любой странице выдает "ошибка"?
Спустя 3 минуты, 22 секунды (7.07.2011 - 13:43) datvid написал(а):
Пустая страница с надписью
Parse error: syntax error, unexpected ']' in /home/lamage/public_html/test.php on line 127
Parse error: syntax error, unexpected ']' in /home/lamage/public_html/test.php on line 127
Спустя 1 минута, 45 секунд (7.07.2011 - 13:44) DySprozin написал(а):
datvid
покажи свою 126, 127 и 128 строки
покажи свою 126, 127 и 128 строки
Спустя 1 минута, 58 секунд (7.07.2011 - 13:46) datvid написал(а):
Это было на странице 1-ой а на второй страница открылась нормально.Опять единица и надпись
Ошибка
Ошибка
Спустя 2 минуты, 46 секунд (7.07.2011 - 13:49) datvid написал(а):
public function createLink() {]
if (empty($_GET['page'])) echo '<h1 style="color:red">Ошибка</h1>';
126 пустая
Спустя 1 минута, 24 секунды (7.07.2011 - 13:50) DySprozin написал(а):
а что в адресной строке? примера 2-3 приведи для разных страниц (;
public function createLink() {] - зачем??
public function createLink() {] - зачем??
Спустя 1 минута, 43 секунды (7.07.2011 - 13:52) datvid написал(а):
В первом случае тоже пишет ощибка..(механически ошибся и исправил)
Спустя 55 секунд (7.07.2011 - 13:53) DySprozin написал(а):
тааак, какие позы мы еще не попробовали?

---
я тебе говорю:

---
я тебе говорю:
Цитата |
а что в адресной строке? примера 2-3 приведи для разных страниц (; |
Спустя 24 секунды (7.07.2011 - 13:54) datvid написал(а):
Все исправил...Короче во всех случаях одно и тоже пишет красными крупными буквами
Ощибка
Ощибка
Спустя 36 секунд (7.07.2011 - 13:54) DySprozin написал(а):
в третий раз:
Цитата |
а что в адресной строке? примера 2-3 приведи для разных страниц (; |
Спустя 1 минута, 26 секунд (7.07.2011 - 13:56) DySprozin написал(а):
в адресной строке все время в конце test.php или test.php?page=НОМЕР
??
??
Спустя 54 секунды (7.07.2011 - 13:56) datvid написал(а):
Везде нормально 1-ая страница- www.lama.ge/1.php
2-ая страница www.lama.ge/2.php
2-ая страница www.lama.ge/2.php
Спустя 4 минуты, 42 секунды (7.07.2011 - 14:01) DySprozin написал(а):
datvid
я убью тебя лодочник... этот скрипт для таких вещей не годится... он годится для страниц вида:
www.lama.ge/index.php?page=1
www.lama.ge/index.php?page=2
www.lama.ge/index.php?page=3
www.lama.ge/index.php?page=4
в принципе, канеш, можно попробовать доработать...
я убью тебя лодочник... этот скрипт для таких вещей не годится... он годится для страниц вида:
www.lama.ge/index.php?page=1
www.lama.ge/index.php?page=2
www.lama.ge/index.php?page=3
www.lama.ge/index.php?page=4
в принципе, канеш, можно попробовать доработать...
Спустя 2 минуты, 42 секунды (7.07.2011 - 14:04) datvid написал(а):
Мне уже советовали скриптик доработать за долар!!!
А не за бабки слабо?
А не за бабки слабо?
Спустя 2 минуты, 7 секунд (7.07.2011 - 14:06) datvid написал(а):
Там же немного совсем исправить надо?Наверное здесь?
if ($page < 1) $page = 1;
elseif ($page > $total) $page = $total;
Спустя 1 минута, 35 секунд (7.07.2011 - 14:08) DySprozin написал(а):
Цитата |
А не за бабки слабо? |
солнце мое, на "слабо" я перестал вестись классе где-то в пятом... в другое время я послал бы тя (; но раз уж начал помогать, надо закончить...
попробуй заменить
$page = !empty($_GET['page']) ? (int)$_GET['page'] : 1;
на
$page = substr(strrchr($_SERVER['SCRIPT_NAME'], "/"), 1);
(int)$page == 0 ? $page = 1 : $page = (int)$page;
Спустя 8 минут, 18 секунд (7.07.2011 - 14:16) datvid написал(а):
Спасибо огромное помогло!!!
Просто на счет "послать " не хорошо звучит,всетаки я наверное ровесник твоих родителей...
Скоро 50 стукнет!
Спасибо еще раз!!!
Просто на счет "послать " не хорошо звучит,всетаки я наверное ровесник твоих родителей...
Скоро 50 стукнет!
Спасибо еще раз!!!
Спустя 1 минута, 36 секунд (7.07.2011 - 14:17) DySprozin написал(а):
;;Просто на счет "послать " не хорошо звучит
ну извини, грубость на грубость (; "слабо" - тож звучит оскорбительно. для меня (;
;;Спасибо огромное помогло!!!
пожалуйста (;
ну извини, грубость на грубость (; "слабо" - тож звучит оскорбительно. для меня (;
;;Спасибо огромное помогло!!!
пожалуйста (;
Спустя 2 минуты, 58 секунд (7.07.2011 - 14:20) datvid написал(а):
Извини за слабо!!! Просто я как видишь из грузии и не знал что это слово оскорбительно!!!
Спустя 5 минут, 18 секунд (7.07.2011 - 14:26) DySprozin написал(а):
datvid
да не в оскорбительности дело... просто после твоего "слабо?" передо мной дилемма: либо помочь - получится, что я повелся на твою провокацию, либо не помогать. Или же помочь, но при этом передать свое настроение. Учитывая, что на "слабо" я не ведусь, остается последние два варианта. Я выбрал не самый худший, согласен?
все, прекращаем флуд :-\
да не в оскорбительности дело... просто после твоего "слабо?" передо мной дилемма: либо помочь - получится, что я повелся на твою провокацию, либо не помогать. Или же помочь, но при этом передать свое настроение. Учитывая, что на "слабо" я не ведусь, остается последние два варианта. Я выбрал не самый худший, согласен?
все, прекращаем флуд :-\
Спустя 9 минут, 33 секунды (7.07.2011 - 14:35) tatti написал(а):
DySprozin
не ведись ) он потом за твой счёт в Батуми поедит отдыхать я его знаю )))
не ведись ) он потом за твой счёт в Батуми поедит отдыхать я его знаю )))
Спустя 22 минуты, 4 секунды (7.07.2011 - 14:57) DySprozin написал(а):
tatti
да не, просто в след раз отправлю товарища курить мануалы - и пусть радуется :-\

да не, просто в след раз отправлю товарища курить мануалы - и пусть радуется :-\